【发布时间】:2012-05-06 16:03:14
【问题描述】:
我在使用 GEB+Spock 在 Grails 中进行功能测试时遇到了一些问题。如果我运行“test-app”它总是失败,但如果我运行“test-app -integration”before“test-app”它可以工作!
以下测试序列说明了我的问题:
运行#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”:/
我使用以下设置:
- grails 2.0.1
- geb 0.7.0
- spock 0.6
- htmlunit-driver 2.0rc3(我尝试使用 2.20.0 但给我带来了更多问题)
真的希望有人可以帮助我。 Geb+spock 似乎是一个不错的解决方案,当它起作用...
问候 托比
【问题讨论】: