Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 Visual Studio 2010如何在运行测试时停止执行路径的更改_Visual Studio 2010_Unit Testing - Fatal编程技术网

Visual studio 2010 Visual Studio 2010如何在运行测试时停止执行路径的更改

Visual studio 2010 Visual Studio 2010如何在运行测试时停止执行路径的更改,visual-studio-2010,unit-testing,Visual Studio 2010,Unit Testing,我正在尝试测试一个应用程序,它在处理过程中加载程序集,并使用包含的信息解析文件。问题是,虽然我有从哪里加载程序集的路径,指向我的testprojects bin文件夹,但最终的结果是当测试开始运行时,它从NUnit动态创建(我相信)的不同位置运行。如何强制测试使用已设置的本地测试项目bin路径 使用它,我可以访问下面的执行路径,这不是我想要的 System.IO.Path.GetDirectoryName(_ System.Reflection.Assembly.GetExecutionGass

我正在尝试测试一个应用程序,它在处理过程中加载程序集,并使用包含的信息解析文件。问题是,虽然我有从哪里加载程序集的路径,指向我的testprojects bin文件夹,但最终的结果是当测试开始运行时,它从NUnit动态创建(我相信)的不同位置运行。如何强制测试使用已设置的本地测试项目bin路径

使用它,我可以访问下面的执行路径,这不是我想要的

System.IO.Path.GetDirectoryName(_ System.Reflection.Assembly.GetExecutionGassembly().GetName().CodeBase)

文件:\C:\XXXXDEV\xxxxxxxxxxxxxxxxx\TestResults\LX#####S1Z 2013-03-15 09_44_19\Out

我希望它指向测试项目自己的本地文件夹,在那里可以找到我想要加载的DLL

C:\XXXXXXXXX\xxxxxxxxxx\XXXXXXXXX.Watcher.Test\bin\Debug\xxxxxx outputxxxxx.dll

我选择了测试(菜单)>编辑测试设置>本地(本地.testsettings)打开测试设置窗口。然后我向下滚动选择窗口左侧的单元测试选项。在右边,我浏览选择我的testprojects/bin/Debug文件夹作为要加载的程序集的根文件夹。然后我选中了测试目录中的为程序集使用加载上下文复选框。单击应用,然后关闭。在此之后,当我运行测试时,程序集将正确加载


更改测试项目的输出目录时会发生什么?项目属性->生成->输出->输出路径。我假设你在一个单独的项目上进行测试。我没有改变这一点。它默认指向testprojects调试文件夹----bin\Debug\您是否尝试了?我找到了解决方法。但不确定它是否在所有情况下都能起作用。非常感谢。