我在使用 GEB+Spock 在 Grails 中进行功能测试时遇到了一些问题。如果我运行“test-app”它总是失败,但如果我在“test-app”之前运行“test-app -integration ”它可以工作!
以下测试序列说明了我的问题:
运行#1
grails> clean
grails> test-app -functional
...
Tests PASSED
运行#2
grails> clean
grails> test-app
...
Tests FAILED
运行#3
grails> clean
grails> test-app -functional
...
Test PASSED
grails> test-app
...
Test PASSED
失败的测试抛出“geb.waiting.WaitTimeoutException:条件在 10.0 秒内未通过”。值得注意的是,失败的测试用例正在等待数据库查询的结果。
所以我的问题是,功能测试通过“test-app -integration”与“test-app”运行到底有什么区别?
与我认为的唯一区别是“test-app”正在运行所有测试阶段(单元、集成、功能)。
奇怪的是它确实以某种方式起作用,但前提是我首先运行“test-app -integration”:/
我使用以下设置:
- 圣杯 2.0.1
- geb 0.7.0
- 斯波克 0.6
- htmlunit-driver 2.0rc3(我用 2.20.0 试过,但给了我更多的问题)
真的希望有人可以帮助我。Geb+spock 似乎是一个不错的解决方案,当它起作用时......
问候托比