应该测试两个条件

use*_*335 1 c# shouldly

我在课堂上有一个房产

public class User {
    public string FiscalCode {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我想用两个条件测试属性财务代码.如果财务代码为空或财务代码由方法验证,则测试正常

public bool FiscalCodeIsCorrect(string fiscalcode) 
{
    ....
}
Run Code Online (Sandbox Code Playgroud)

如果验证了两个条件中的一个,我该如何在一条线上进行测试?

我想在测试项目中使用这个条件,所以代码行可以

user.FiscalCode.ShouldBeOneOf()
Run Code Online (Sandbox Code Playgroud)

但我不能因为null而且string是两种不同的类型.

shi*_*ngo 6

ShouldBeOneOf 不能处理一个函数,所以我认为简单的方法是使用 ShouldBeTrue

(FiscalCode == null || FiscalClodeIsCorrect(FiscalCode)).ShouldBeTrue();
Run Code Online (Sandbox Code Playgroud)