gpt4 book ai didi

c# - 如何打破 UnitTesting.Assert.AreEqual?

转载 作者:行者123 更新时间:2023-11-30 13:32:22 26 4
gpt4 key购买 nike

VS UnitTest 项目中断言的标准行为是仅告诉我测试在特定行上失败。

但是有时候,如果我可以在这样的断言失败时中断,那会很方便。因为仅在该行设置断点也会导致测试用例不失败。如果我可以在断言失败时中断,我可以立即看到哪个测试用例失败了。

当断言失败时,我如何暂时告诉 VS 中断?

例如我在我的单元测试中以下列方式有很多循环,想知道哪个迭代失败了:

foreach(var testcase in testcases)
{
Assert.AreEqual(testcase.ExpectedOutputData, FuncionUnderTest(testcase.InputData));
}

最佳答案

只需使用条件断点,并为其提供断言检查的逻辑否定。

就我个人而言,我认为断点的使用严重不足,它只不过是一种“在此时中断”工具——它们非常通用,可以很容易地用来代替 Console.WriteLine 来显示调试无需实际修改代码即可输出,并且仅在断言失败时中断。

如果以这种方式过度使用它们确实会导致一些性能下降,但这很少会成为运行单元测试的问题。

关于c# - 如何打破 UnitTesting.Assert.AreEqual?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com