<分区>
您如何看待以下断言?
Assert.IsTrue(condition1 && condition2);
我在审查 session 期间提出了这种类型的断言。据我所知,在断言中使用 && 运算符不是一个好习惯。我想知道别人怎么想?是否值得一提这是下一次审查 session 期间的一个问题?或者这只是个人喜好?
标签 c# unit-testing tdd nunit
<分区>
您如何看待以下断言?
Assert.IsTrue(condition1 && condition2);
我在审查 session 期间提出了这种类型的断言。据我所知,在断言中使用 && 运算符不是一个好习惯。我想知道别人怎么想?是否值得一提这是下一次审查 session 期间的一个问题?或者这只是个人喜好?
最佳答案
当你写作时
Assert.IsTrue(condition1 && condition2);
然后不清楚导致测试失败的原因 - 第一个或第二个条件。因此,您需要它们都为 true
,只需一个接一个地检查即可:
Assert.IsTrue(condition1);
Assert.IsTrue(condition2);
现在让我们想想 OR 条件有什么问题:
Assert.IsTrue(condition1 || condition2);
这看起来像是随机测试 - 它会在不同的场景中通过:
那么,您要检查的具体场景是什么?创建三个不同的场景来重现这三种情况。每个测试将包含两个断言,例如对于最后一个场景:
Assert.IsFalse(condition1);
Assert.IsTrue(condition2);
关于c# - 断言中的逻辑运算符是否可以接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18830500/