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

本文关键字:断言 何断言 有效 3个 如果 有一个 MSTest | 更新日期: 2023-09-27 18:16:22

我有一个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吗?

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

你可以使用

Assert.IsTrue(
    result.fieldA.StartsWith(astring) || 
    result.fieldB.StartsWith(astring) ||
    result.fieldC.StartsWith(astring)
);