C# 不同测试的工作目录不同

C# 不同测试的工作目录不同,c#,unit-testing,visual-studio-2015,automated-tests,mstest,C#,Unit Testing,Visual Studio 2015,Automated Tests,Mstest,我和我的团队正在开发一个存储在BitBucket中的应用程序,Visual Studio 2015是我们的主要IDE。当使用DataSource属性时,我们的应用程序的单元测试失败,但如果不使用,则通过 我注意到的一点是,当使用DataSource属性时,测试的工作目录(通过System.Environment.CurrentDirectory属性以及AppDomain.CurrentDomain.SetupInformation.ApplicationBase属性获得)是: TestResut

我和我的团队正在开发一个存储在BitBucket中的应用程序,Visual Studio 2015是我们的主要IDE。当使用
DataSource
属性时,我们的应用程序的单元测试失败,但如果不使用,则通过

我注意到的一点是,当使用
DataSource
属性时,测试的工作目录(通过
System.Environment.CurrentDirectory
属性以及
AppDomain.CurrentDomain.SetupInformation.ApplicationBase
属性获得)是:

TestResuts\[生成的目录名]\Out

没有数据源时的工作目录是项目配置的输出路径:“bin\Debug”。这就是为什么测试找不到
数据源
文件-尽管在文件属性中将它们设置为
始终复制
,但它们被复制到我的bin\Debug目录,而不是我的TestResults/../Out目录

这里是最奇怪的部分-我们没有一个项目的设置文件,这是最近才开始发生的。所以没有配置新的工作目录,我们也没有故意更改它

为什么DataSource属性会更改正在执行的目录,而不是复制属性c'tor中指示的文件

你能想到这可能发生的其他原因吗


谢谢

哪个测试框架?它有测试隔离设置吗?大多数情况下,最好将文件标记为部署到独立测试,而不是依赖于工作目录。(Debug文件夹主要用于调试,而不是测试。)啊,是的,我们正在使用内置的VisualStudio单元测试项目。没什么特别的。发现新信息,编辑问题。