grails没有找到geb功能测试

时间:2014-03-06 00:06:04

标签: unit-testing grails functional-testing geb

我在https://github.com/geb/geb-example-grails

使用示例项目

出于某种原因,当我运行grails test-app functional:时,它不会接受任何测试。它说......

|Loading Grails 2.3.1
|Configuring classpath
.
|Environment set to test
........................................................
|Tests PASSED - view reports in C:\Users\user\src\geb-example-grails\target\test-reports

没有浏览器打开(我习惯使用webdriver),当我查看target\test-reports\html\all.html时,我得到...

单元测试结果 - 所有测试

未执行任何测试。

我尝试用

执行
  • grails test-app functional:
  • grails test-app -functional
  • grails test-app

似乎没有运行任何测试。我也将项目升级到grails 2.3.6,结果相同。我错误地运行了测试吗?还有其他人有这个问题吗?

更新

除了Windows 7计算机之外,我还能在Mac上重现此问题。当我在Mac上运行时......

grails test-app -Dwebdriver.chrome.driver=/Applications/Google\ Chrome.app/Contents/MacOS/chromedriver

然后没有运行测试,它报告所有测试都通过。 (与windows机器相同)

但是,当我通过

运行时
grails test-app

测试已经开始,谷歌浏览器已启动,但没有导航(我怀疑我在Mac上的PATH某处有一个过时的chromedriver。)

更新2

用...运行后

grails test-app -Dgeb.env=firefox

找到并执行测试。在使用最新的selenium(2.40.0,我熟悉的webdriver问题)更新BuildConfig.groovy之前,不会发生任何诽谤。

考虑到这一点,我决定检查chromedriver是否安装得当。虽然我已将chromedriver.exe放置在与谷歌浏览器相同的位置。我没有将该位置添加到我的PATH。这样做之后......尤里卡!测试以100%通过的方式运行并执行!谢谢@spikeheap的建议!看起来测试不会运行,除非你的浏览器设置正确的webdriver(对我来说很奇怪,但没关系)。

1 个答案:

答案 0 :(得分:1)

我无法重现该错误。使用2.3.1执行测试。你有ChromeDriver吗?如果不是,我希望看到一大堆错误......

您可以尝试grails test-app functional: -Dgeb.env=firefox尝试使用FirefoxDriver。如果您安装了Firefox,则无需任何其他配置即可使用。

如果这对您没有任何帮助,请尝试grails test-app functional: PersonCRUDSpec,这将明确尝试运行该测试。