MTR*_*MTR 3 c# unit-testing visual-studio-2010
VS UnitTest项目中断言的标准行为是告诉我测试在特定行上失败了.
然而有时候,如果我可以在这样的断言失败时打破它会很方便.因为只在该行上设置断点也会导致测试用例失败.如果我能断言断言失败,我可以立即看到哪个测试用例失败了.
当断言失败时,如何暂时告诉VS中断?
例如,我在单元测试中以下列方式有许多循环,并想知道哪个迭代失败:
foreach(var testcase in testcases)
{
Assert.AreEqual(testcase.ExpectedOutputData, FuncionUnderTest(testcase.InputData));
}
Run Code Online (Sandbox Code Playgroud)
只需使用一个条件断点,并给它断言检查的逻辑否定.
就我个人而言,我认为断点严重未被充分利用,只不过是"在这一点上突破"工具 - 它们非常通用,并且可以轻松地用于代替Console.WriteLine显示调试输出而无需实际修改代码,以及仅打破断言会失败.
如果过度使用这种方式,它们往往会导致一点性能损失,但这很少是运行单元测试的问题.
| 归档时间: |
|
| 查看次数: |
816 次 |
| 最近记录: |