使用MPI.Net会导致VS2012单元测试在运行时失败,但在调试时会成功

时间:2013-04-27 00:16:03

标签: unit-testing visual-studio-2012 mpi

我正在使用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());
            }
        }
    }

如果测试是“运行”,则会发生异常,如果测试是“已调试”,则测试通过,即使没有断点也是如此。

0 个答案:

没有答案