2017-07-20 38 views
0

我刚开始用FsCheck,想挖得更深一些,我有以下测试案例:在fscheck使用属性与过滤项

[Property] 
public void some_test(HttpStatusCode httpStatusCode) 

现在,我只希望httpStatusCode这是失败了,怎么办我使用FsCheck实现了这一点?我有以下代码:

Prop.ForAll<HttpStatusCode>(code => new Func<bool>(() => !new HttpResponseMessage(code).IsSuccessStatusCode).When(true)).QuickCheck(); 

,但不知道如何连接到这一点的Property属性为我的测试案例。网上的例子对于如此微不足道的事情来说相当复杂。任何帮助或指导将不胜感激。

会很高兴有类似this但自定义对象和自定义逻辑。

干杯。

回答

0

您可以使用When方法进行过滤。

喜欢的东西:

Prop.ForAll<HttpStatusCode>(code => 
    !new HttpResponseMessage(code).IsSuccessStatusCode) 
    .When(code is failure) 
) 
.QuickCheck();