我正在接受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在这种情况下崩溃而不是测试失败吗?
答案 0 :(得分:2)
我想说将断言放入测试类中的私有方法是完全没问题的。 私有方法基本上可以被视为逻辑上属于main方法的代码,但是为了可读性或代码重用而被分解。 如果多个测试之间的断言相同,我通常会将断言置于私有方法中
答案 1 :(得分:0)
我找到了答案。它与Assert或TestMethod或线程无关。由于缺少库而引发了异常。
因此,如果可能的话,我想删除这个问题。