是写题的原因。写完代码后,总是需要单元测试来验证你的代码是否正确。过去,我比较笨。我实际测试了我在main方法中写的逻辑是否正确。这种写法,不说耗时,一个类中只能有一个main方法,导致我写另一道题的时候把上一道题的单元测试数据丢了,很不好。所以我推荐大家使用spock进行单元测试。Spock的pom文件导入org.spockframeworkspock-core1.1-groovy-2.4testorg.codehaus.groovygroovy-all2.4.15单元测试过程在test目录下,创建一个groovy文件,我创建了一个SolutionTest类,需要继承spock基类Specification,为了有后续处理功能创建全局要测试的对象,使用def创建一个测试方法,在里面写入测试逻辑并运行,然后会输出测试用例的运行结果。Spock语法引入了一个由四部分组成的spock方法。变量字段:全局定义测试方法中经常使用的对象,属性测试模板方法:测试方法运行前后执行的方法defsetupSpec(){}//运行一次——在第一个特征方法之前defsetup(){}//在每个特征方法之前运行defcleanup(){}//在之后运行每个特征方法defcleanupSpec(){}//运行一次-在最后一个特征方法之后given://前置参数when://执行待测代码then://验证执行结果where://参数赋不同值}测试方法主要由四部分组成,功能如下备注中显示def"testcount1"(){given:Solutionsolution=newSolution()when://执行需要测试的代码inta=solution.count1(n)then://验证执行结果a==b其中://n和b的赋值n|乙1|12|1}以上是示例模板。我在给定中定义了我要测试的对象。在when中,我调用了对象中的计算方法,在then中添加了判断语句。A是结果,b是我的期望。这样一来,两个方法需要相等的逻辑就没有问题了。其中我给n和b赋值,相当于提供了测试用例。可以看到进行了两组测试,非常方便。