dog*_*ane 59 java parameterized junit4
理论和参数化测试之间有什么区别?
在创建测试类时,我对实现差异不感兴趣,只是当你选择一个而不是另一个时.
Fab*_*nji 28
据我所知:通过参数化测试,您可以为测试用例提供一系列静态输入.
理论相似但概念不同.它们背后的想法是创建测试用例来测试假设而不是静态值.因此,如果根据某些假设我提供的测试数据为真,那么得到的断言总是确定性的.这背后的驱动思想之一是,您将能够提供无限数量的测试数据,您的测试用例仍然是真实的; 此外,您通常需要在测试输入数据中测试一系列可能性,例如负数.如果您静态测试,即提供一些负数,则无法保证您的组件能够对抗所有负数,即使很可能这样做.
据我所知,xUnit框架尝试通过创建所提供测试数据的所有可能组合来应用理论概念.
在数据驱动的场景中接近场景时应该使用两者(即只有输入改变,但测试总是一遍又一遍地执行相同的断言).
但是,由于理论似乎是实验性的,我只有在需要测试输入数据中的一系列组合时才使用它们.对于所有其他情况,我会使用参数化测试.
gli*_*tak 11
Parameterized.class使用单个变量测试"参数化"测试,而Theories.class使用多个变量的所有组合"参数化".
例如,请阅读:
http://blogs.oracle.com/jacobc/entry/parameterized_unit_tests_with_junit
http://blog.schauderhaft.de/2010/02/07/junit-theories/
http://blogs.oracle.com/jacobc/entry/junit_theories
Theories.class类似于Haskell QuickCheck:
http://en.wikibooks.org/wiki/Haskell/Testing
但QuickCheck会自动生成参数组合
| 归档时间: |
|
| 查看次数: |
10899 次 |
| 最近记录: |