MSTest:如果3个断言中的一个有效,如何断言为正?

时间:2014-08-04 14:06:45

标签: c# linq mstest

我有一个IntegrationTest,我想测试linq查询的结果。 linq查询就是这样的

where myObject.fieldA.StartsWith(aString) 
   || myObject.fieldB.StartsWith(aString) 
   || myObject.fieldC.StartsWith(aString)

现在我想写这样的测试:

foreach(var result in results)
{
   StringAssert.StartsWith(result.fieldA, aString);
   StringAssert.StartsWith(result.fieldB, aString);
   StringAssert.StartsWith(result.fieldC, aString);   
}

但当然这是不正确的,因为当上述3中的一个有效时,它应该断言有效。

知道如何使用MSTest做到这一点吗?

1 个答案:

答案 0 :(得分:4)

您可以使用

解决此问题
Assert.IsTrue(
    result.fieldA.StartsWith(astring) || 
    result.fieldB.StartsWith(astring) ||
    result.fieldC.StartsWith(astring)
);