在使用RGR方法时,属性测试是否应该使用单元测试?

时间:2015-11-29 13:35:22

标签: unit-testing f# tdd fscheck property-testing

使用RGR方法时,属性测试是否应运行单元测试?

RGR:红色 - >绿色 - >重构

我注意到我在18ms内执行的单元测试。

但是,我对同一方法的属性测试需要215ms。

{{1}}

所以我的属性测试需要四分之一秒才能执行。

此外,这只是一个简单的属性测试。

运行属性测试的有效方法是什么?

只是办理登机手续?

1 个答案:

答案 0 :(得分:3)

使用默认设置,每个FsCheck属性运行100次,因此它的速度慢并不奇怪。但请注意,它不会慢100倍。

我经常在编写属性测试时使用Red / Green / Refactor进程(针对目标函数),并发现它运行良好。

比在C#中执行TDD慢(也因为F#编译器比C#编译器慢)。另一方面,F#类型的系统更具表现力,所以我也发现我{C}中的rely more on the type system。这意味着我需要编写更少的测试。

总而言之,我发现F#和FsCheck的结合是对C#和普通单元测试的净胜利。