groovy单元测试目录中的.groovy文件无法识别spock包的问题

it2024-12-13  18

groovy单元测试目录中的.groovy文件无法识别spock包的问题

背景问题解决分析配置

背景

因为近期工作需要,要在项目中引入spock测试框架,并采用groovy开发单元测试案例。参照网上一些资料引入了依赖,但在编写完成groovy文件之后,一直提示找不到spock中的相关类,如Specification主类。

问题

使用eclipse4.8+maven+spock,采用groovy编写单元测试。 手动建立src/test/groovy目录,pom.xml已经添加了spock相关的依赖包,但是该目录下的groovy源码一直显示红叉,无法识别spock.lang下的类文件。 如Title、Unroll、Specification等类。

解决

分析

经过观察,发现工程视图以及java build path中,默认的src/test/java目录显示为灰色,并且标记了test的相关spockjar包也为灰色。

配置

后面查询资料得知这是为了和正常编译区分,为test单独设置的特性。 进一步观察发现,java build path中,我自己建立的src/test/groovy并没有变成灰色,于是将问题定位在该处,一定是有相关的设置。 查询资料得知,果然如此,我们想要使用test的编译环境,需要将src/test/groovy也设置为testSource,具体做法是在java build path编辑界面的source页,展开选项。 修改“Contains test sources”由默认的No修改为Yes即可,具体操作为双击该选项修改,此时会提示Output folder不能为默认设置,我们只需要参照src/test/java的配置修改即可。

修改完毕重新build工程,问题解决。

最新回复(0)