I can't seem to grasp how MSTest deployment items are supposed to be configured. I have been able to get them working properly by modifying the project's test settings file, but this is less then ideal -- the deployment item configuration is separated from individual tests, and the file paths appear to be stored as absolute paths unless the files are under the solution folder.
Am I not supposed to be able to add a deployment item using the [DeploymentItem]
attribute on either a [TestClass]
or [TestMethod]
without having to create/modify a project test settings file? How do I accomplish this?
(Frankly, I don't understand the need for a separate deployment item configuration -- why not just use the existing 'Copy to Output Directory' settings for project files that should be deployment items?)
I thought I'd share a way I ran into problems with MSTest and deployment items. If you Debug/Run your test a 2nd time or more from the "Test Results" window, it uses the settings from a previous run. However, if you Debug/Run the same test from the "Test View" window, it uses the latest settings. I lost an hour to trying to figure out why changes to Local.testsettings weren't being used when I kept starting Debug on the same test from the "Test Results" window.
This is the Test Results window (do not [re]start tests from here after making changes to Local.testsettings):
And this is the Test View window (DO start tests from here after making changes to Local.testsettings):
I hope this saves someone a headache in the future.