C# 流畅断言检查结果为 bool
C# fluent assertions result of check as bool
我正在尝试在测试框架之外的 C# 上使用 Fluent Assertions。有什么办法可以将 FA 支票投给 bool 吗?例如我需要实现类似的东西:
bool result= a.Should().Be(0);
如果通过则result = true;
如果失败,result = false.
是否有任何方法可以从断言中转换或提取 bool
结果?
Fluent Assertions 旨在抛出测试框架捕获的异常,而不是 return 个值。
您最多只能创建一个方法来接受操作,并在操作抛出时捕获异常。在 catch
你会 return false
.
public bool Evaluate(Action a)
{
try
{
a();
return true;
}
catch
{
return false;
}
}
你会像这样使用它:
bool result = Evaluate(() => a.Should().Be(0));
这在负面情况下会有糟糕的表现;抛出异常并不便宜。您可能会被其他人皱眉,因为通常 exceptions shouldn't be used for flow control.
也就是说,这就是你想要的。
我正在尝试在测试框架之外的 C# 上使用 Fluent Assertions。有什么办法可以将 FA 支票投给 bool 吗?例如我需要实现类似的东西:
bool result= a.Should().Be(0);
如果通过则result = true; 如果失败,result = false.
是否有任何方法可以从断言中转换或提取 bool
结果?
Fluent Assertions 旨在抛出测试框架捕获的异常,而不是 return 个值。
您最多只能创建一个方法来接受操作,并在操作抛出时捕获异常。在 catch
你会 return false
.
public bool Evaluate(Action a)
{
try
{
a();
return true;
}
catch
{
return false;
}
}
你会像这样使用它:
bool result = Evaluate(() => a.Should().Be(0));
这在负面情况下会有糟糕的表现;抛出异常并不便宜。您可能会被其他人皱眉,因为通常 exceptions shouldn't be used for flow control.
也就是说,这就是你想要的。