我有一个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做到这一点吗?
答案 0 :(得分:4)
您可以使用
解决此问题Assert.IsTrue(
result.fieldA.StartsWith(astring) ||
result.fieldB.StartsWith(astring) ||
result.fieldC.StartsWith(astring)
);