我确信这是一个非常简单的问题,但我无法弄清楚为什么这个断言失败了......
基本上如果IsApple为假或IsBannana是假的断言应该失败,但是如果其中一个是真的断言应该通过,那么有人可以解释为什么这个断言失败了吗?
[Test]
public void IsApplesOrBannans()
{
bool IsApple = true;
bool IsBannana = false;
if (!IsApple || !IsBannana)
Assert.Fail();
Assert.Pass();
}
Run Code Online (Sandbox Code Playgroud)
你说的话毫无意义.
以下是我(和编译器)理解你所说的内容:
基本上如果IsApple是假的或IsBannana是假的断言应该失败
换句话说,如果其中一个是假的,你不关心另一个是否也是假的.
但是,如果其中一个是真的断言应该通过
这些要求相互矛盾.
也许你的意思是"如果IsApple是假的, IsBanana是假的"; 也就是说,如果他们都假的.
但你写的是"如果IsApple是假的或 IsBanana是假的",也就是说,如果其中一个是假的.