NUNit - .xml资源和"调用线程无法访问此对象,因为另一个线程拥有它"

时间:2016-03-17 10:41:26

标签: xml nunit

在我的C#项目中,我使用.xml文件,但NUnit会出现问题。如果我尝试将文件作为资源添加到项目中,则在运行单元测试后,大多数文件都会出错: "调用线程无法访问此对象,因为另一个线程拥有它"。

当我尝试硬编码文件的相对路径时,程序运行正常,但有些测试失败,显示错误: " System.IO.DirectoryNotFoundException:找不到路径“C:\ Users \ Me \ AppData \ Local \ JetBrains \ Installations \ ReSharperPlatformVs14_001 \ XmlFiles \ MyFile.xml”"

的一部分

我使用的是最新的NUnit 3.2.0。

1 个答案:

答案 0 :(得分:0)

事实证明,NUnit在除UI之外的其他线程中运行,并且在代码中对界面进行了一些更新。解决方案是添加一个静态变量(在安装程序中设置),以防止在测试运行时更新UI。现在一切都很好 - 问题解决了。