2017-02-17 17 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

相關問題