1

我正在接管 C# 中的遗留代码,并且对此代码的单元测试不起作用。

让我通过下面的代码来解释。

[TestMethod]
public void SampleTest() {
    ...
    // Parallel call of this method via Threading
    TestUtil(args);
    ...
}

private void TestUtil(...) {
    ...
    Assert.IsTrue(Condition1);
    Assert.IsTrue(Condition2);
}

当我在 Visual Studio 中运行SampleTest时,VS 没有将测试标记为失败(因为某些条件失败),而是在 QTAgent.exe 中引发异常。

你知道为什么 QTAgent.exe 在这种情况下会崩溃而不是通过测试吗?

4

2 回答 2

2

我会说将断言放入测试类的私有方法中是完全可以的。私有方法基本上可以看作是逻辑上属于主方法的代码,但为了可读性或代码重用而被拆分出来。如果多个测试之间的断言相同,我通常将断言放入私有方法中

于 2013-06-30T03:02:07.880 回答
0

我找到了答案。它与 Assert 或 TestMethod 或线程无关。由于缺少库而引发异常。

因此,如果可能的话,我想删除这个问题。

于 2013-06-30T09:33:35.927 回答