2017-02-17 40 views
0

我正在开发一个基于Spring的Web项目(Eclipse作为IDE),其中我们想要介绍使用Spock的集成测试框架。这个项目基于Maven。为此,我安装了Greclipse插件并将现有项目转换为常规性质。还配置Maven在src/test/groovy文件夹中运行测试类,并且一切工作正常,所有spock测试都运行良好,运行“Maven测试”阶段。配置构建路径以将groovy测试文件编译为目标/测试类。Spock脚本没有在使用Eclipse IDE的Spring MVC项目中自动编译

当我使用运行 - >运行配置运行Spock测试时,问题即将到来。它使用运行配置与Junit运行器一起运行文件,它从目标/测试类中获取已编译的测试类。每当我修改Spock测试脚本文件时,它都不会自动生成这些类,Run With Run Configuration始终选取旧的编译类。

如何强制脚本编译,以便我不总是需要Maven clean和Maven测试,以强制它编译和运行。

我发现在其他一些讨论修改Groovy编译器选项以“启用脚本文件夹支持”的线程中,检查和取消选中都没有用。它不会强制Spock脚本编译(也尝试在Eclipse首选项全局Groovy编译器选项中启用相同的选项)

任何帮助,非常感谢。

回答

0

Spock测试是作为延伸Specification的类实现的。所以他们像其他Groovy类一样被对待。

如果在Eclipse下的“项目”→“自动构建”启用,Eclipse会在每次更改时自动编译这些类。因此,如果您在Eclipse中更改Spock测试,那么运行它应该始终使用最新的编译版本。

为了自动编译正常工作,源必须在Eclipse中正确配置。通过Eclipse项目上的“Configure Build Path ...”(配置构建路径...)进行检查,在“Source”选项卡下src/test/groovy/文件夹配置正确。

+0

感谢您的回复。构建自动设置为在项目上运行。并且还将src/test/groovy/folder添加到项目属性的源路径中。但仍然没有看到编译后的类文件。还有什么遗漏吗? – user1260377

+0

我发现了问题并修复了它。我所指的项目没有在.proejct文件中安装Javabuilder。当我们使用Maven进行构建时,我无法抓住它。一旦我添加了Javabuilder,eclipse就可以在每次修改文件时编译它。 – user1260377

相关问题