我正在使用MPI.Net进行Visual Studio 2012项目。所有单元测试(标准Microsoft单元测试项目)如果运行则会失败,但在调试时会成功。我创建了一个虚拟项目,它有一个类(只返回“foo”)并复制了这个问题。在我真正做任何事情之前,似乎MPI环境已经完成。我已经尝试在适当的地方添加睡眠以查看它是否是时间问题,但它似乎是另一回事。有没有人有这方面的经验?
我的测试方法是:
[TestMethod]
public void TestMethod1()
{
string[] args = null;
using (MPI.Environment mpiEnv = new MPI.Environment(ref args))
{
if (MPI.Environment.Finalized)
{
throw new Exception("mpi finalized");
}
else
{
MPIdotNetUnitTestIssue.Class1 bar = new MPIdotNetUnitTestIssue.Class1();
Assert.AreEqual("foo", bar.Foo());
}
}
}
如果测试是“运行”,则会发生异常,如果测试是“已调试”,则测试通过,即使没有断点也是如此。