如何将本机库复制到Visual Studio 2010中的unit testing登台目录

我的项目依赖于我通常通过MSBuild目标复制到输出目录的一些本机库(DLL)。 运行应用程序时没有问题,但我在Visual Studio中编写了一些unit testing,每次运行unit testing时,程序集和可执行文件都会从输出目录复制到暂存文件夹中: C:\path\to\MyProject\TestResults\myWorkStationName 2012-03-20 13_53_56\Out

遗憾的是,本机DLL不会复制到暂存目录中,并且会在每次测试运行时生成暂存目录。 是否有一个MSbuild目标允许我将东西复制到临时目录?

PS我不确定“登台目录”是否是正确的术语,所以请原谅我的无知,如果不是:)。

解决方案广泛部署

从VS菜单: Test > Edit Test Settings > (settings file) > Deployment >选中Enable deployment并添加一个或多个目录。

注意此function中的一个警告:在重新启动Visual Studio之前,现有测试的已启用部署将无法运行。

启用部署

单一方法部署

使用[DeploymentItem]属性:

 [TestMethod()] [DeploymentItem("testFile1.txt")] public void ConstructorTest() { // Create the file to deploy Car.CarInfo(); string file = "testFile1.txt"; // Check if the created file exists in the deployment directory Assert.IsTrue(File.Exists(file), "deployment failed: " + file + " did not get deployed"); } 

对于各种unit testing设置,包括“登台目录”和添加其他部署文件,请转到

测试 – >编辑测试设置 – >本地

对于您的特定问题,请在该设置窗口中转到“部署”,您应该能够添加要部署到将运行unit testing的目录的其他文件。

我相信您也可以使用属性在代码中定义部署项:

http://msdn.microsoft.com/en-us/library/ms182475.aspx