我将 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());
}
}
}
如果测试“运行”,则发生异常,如果“调试”,即使没有断点,测试也会通过。