首页 > Java > 正文

基于Spock的单元测试学习

标签:java, test

 李琪同学的组内分享对于我来说是比较新的一块东西,写个记录的文章便于在需要的时候学习和使用。
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。写过单测的朋友都知道,它能让我们在提交代码之前,自己就能发现很多bug,但是在很多业务驱动的场景下,时间和精力的限制往往使程序员难以写出很全面的高质量单元测试。JUnit、TestNG都是比较常见的测试框架,而本文所介绍的Spock,基于Groovy并吸收了Junit、TestNG、Mockito等框架的一些特点,具有层次清晰,代码量少,可读性好的优点,并且由于Groovy最终会被编译为class文件,所以它可以无缝兼容Java。
下面是一些测试的概念:
Unit test 单元测试
Integrate test 集成测试
end-to-end test 端对端测试
SUT (System Under Test) 待测系统
DOC (Depended On Component) 依赖组建
TDD (Test Driven Development) 测试驱动开发
BDD (Behaviour Driven Development) 行为驱动开发
Test doubles 测试替身 Dummy、Stub、Fake、Mock、Spy
Spock的模块:
root
Spock测试类的结构:
root
Stub创建返回值:
root
断言:
root
参数化测试:
root
总结:Spock能够满足各类项目的单元测试,并且在测试较多case的时候,代码量相对较小,阅读起来也很清晰,可以迅速提高单测覆盖率以及测试的质量。缺点是有一定的学习成本,需要对Groovy基本语法和Spock各个模块的用法比较熟悉。


原创文章,转载请注明出处!
本文链接:http://wuukee.github.io/posts/spock.html
上篇: 多线程环境下的SimpleDateFormat
下篇: 2019厦门马拉松赛记