Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 对于多个预期值,Assert.AreEqual(预期值,实际值)_Visual Studio_Unit Testing_Assert - Fatal编程技术网

Visual studio 对于多个预期值,Assert.AreEqual(预期值,实际值)

Visual studio 对于多个预期值,Assert.AreEqual(预期值,实际值),visual-studio,unit-testing,assert,Visual Studio,Unit Testing,Assert,在VisualStudio的单元测试环境中,如何断言变量满足两个值中的任何一个 我见过其他测试框架这样做: Assert.That(result.ViewName, Is.EqualTo("HomePage") | Is.Empty); 我对Visual Studio的单元测试环境没有经验。首先,如果您不打算执行按位或按位操作,我认为您键入的代码样本行包含错误 Assert.That(result.ViewName, Is.EqualTo("HomePage") || Is.Empty);

在VisualStudio的单元测试环境中,如何断言变量满足两个值中的任何一个

我见过其他测试框架这样做:

Assert.That(result.ViewName, Is.EqualTo("HomePage") | Is.Empty);

我对Visual Studio的单元测试环境没有经验。

首先,如果您不打算执行按位或按位操作,我认为您键入的代码样本行包含错误

Assert.That(result.ViewName, Is.EqualTo("HomePage") || Is.Empty);
其次,我怀疑这是一个误导性的测试,因为单元测试只能测试一个特定场景。因此,例如,如果您为一个属性指定了一个值,那么您希望这个值由它的getter返回

第三,考虑到我可能会错过你的观点,你肯定需要测试这两种结果,我会这样做

Assert.IsTrue(string.Equals(result.ViewName, "HomePage") || string.Equals(result.ViewName, string.Empty));

另一方面,我从来没有测试过一个场景,在这个场景中,我期望从同一个单元测试中得到两个不同的结果<代码>断言。可能也不错。

尝试
|
而不是
|
|
是一个按位OR,可能不是您要查找的。按位操作(|)直接来自示例,尽管我完全阅读了它(最肯定的不是OR(| |)!)。这来自NUnit,应该是一个“替代”约束断言,但我仍然不确定其意图是什么,如果不是OR的话。