在 VS2012 中,我有一堆 (MS) 单元测试,它们使用我存储在与测试文件类相同的文件夹中的不同 xml/文本文件。
我使用 File.OpenRead(AppDomain.CurrentDomain.BaseDirectory + "file") 打开这些文件
如果我只运行一个测试,它会工作,文件会被读取。
如果我一次运行所有测试,BaseDirectory 返回一个不同的路径(在 TestResults/Deploy/currentdatetime/Out 中)并且显然无法在那里找到文件。
怎么办?
谢谢!
最佳答案
我们在 VS 2017 中遇到了这个问题,但所有测试(包括个别测试)都是从 TestResults 文件夹运行的。我们的问题是 log4net.config 没有被复制到 TestResults 文件夹(即使 Copy Always 为 true)。
我们的解决方案是从 Solution Items 文件夹(直接在解决方案下)中删除 LocalTestRun.testrunconfig 文件。当我们这样做时,它开始使用\bin\debug\文件夹,并找到我们的 log4net.config 文件。
关于c# - AppDomain.CurrentDomain.BaseDirectory 在运行测试后发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19764442/