Testing ASP.NET MVC website

2019-02-22 04:09发布

I'm working on an MVC site with an image upload capability and I want to write a test that will upload an image.

I made an image called TestImage.jpg and set Copy to Output to be "Copy if Newer". In my test I try to load that with the following code:

System.Drawing.Image testImage = System.Drawing.Image.FromFile(@"TestImage.jpg");

Shouldn't the "Copy to Output" copy it to the same directory where the test is running? If not, how can I find out where it was copied to? Best would be some kind of project root relative path so I can feel free to move the solution around without this breaking.

2条回答
我命由我不由天
2楼-- · 2019-02-22 05:02

In MSTest, the framework copies all .dlls to a folder called TestResults. Unfortunately, it only copies .dlls, .pdbs and .configs from the output folder to the TestResults folder, so your files are not being copied.

To copy those files, you will need to either

  • add the DeploymentItem attribute to the test(s) in question
  • edit your .testrunconfig file by adding the appropriate files in the Deployment tab

A better alternative is to embed the test-specific files in the test as an embedded resource and then read them directly from the resource stream.

查看更多
兄弟一词,经得起流年.
3楼-- · 2019-02-22 05:08

in the solution explorer Under solution items double click LocalTestRun.testrunconfig go to deployment and add the image

http://img17.imageshack.us/img17/5219/sanstitrelca.jpg

查看更多
登录 后发表回答