如何在Visual Studio的单元测试环境中断言变量是否满足两个值中的任何一个?
我见过其他测试框架是这样的:
Assert.That(result.ViewName, Is.EqualTo("HomePage") | Is.Empty);
我对Visual Studio的单元测试环境没有经验。
答案 0 :(得分:5)
首先,我认为您键入的代码行包含错误,如果您无意执行按位OR。
Assert.That(result.ViewName, Is.EqualTo("HomePage") || Is.Empty);
其次,我怀疑这里有一个误导性测试,因为单元测试应测试一个且只有一个特定场景。因此,如果您为一个属性分配了一个值,那么您希望它的getter返回这个值。
第三,这就是我如何去做,考虑到我可能会错过你的观点,你肯定需要测试这两种结果。
Assert.IsTrue(string.Equals(result.ViewName, "HomePage") || string.Equals(result.ViewName, string.Empty));
另一方面,我从来没有测试过我预期来自同一单元测试的两个不同结果的情况。 Assert.That
可能也很好。