我在持续集成服务器中运行了一系列单元和集成测试(我使用TeamCity),我试图知道为什么我的集成测试失败了。
我读了这个测试的堆栈跟踪,我发现了以下内容:
Capybara::ElementNotFound: Unable to find css "section.product[data-id=\"484802314\"]"
Stack trace:
test/integration/main_page_test.rb:7:in `pod'
test/integration/main_page_test.rb:99:in `block in <class:MainPageTest>'
test-unit (2.5.0) lib/test/unit/ui/testrunnermediator.rb:44:in `block in run'
test-unit (2.5.0) lib/test/unit/ui/testrunnermediator.rb:89:in `with_listener'
test-unit (2.5.0) lib/test/unit/ui/testrunnermediator.rb:39:in `run'
test-unit (2.5.0) lib/test/unit/autorunner.rb:378:in `block in run'
test-unit (2.5.0) lib/test/unit/autorunner.rb:434:in `change_work_directory'
test-unit (2.5.0) lib/test/unit/autorunner.rb:377:in `run'
test-unit (2.5.0) lib/test/unit/autorunner.rb:58:in `run'
开发人员声称此集成测试在他们的计算机上运行完美,那么,我该如何覆盖此问题?
更新:
另一个失败的测试是这个,我不确定是否相关或导致其他测试失败:
MainPageTest.test_Pod_are_created_correctly:
Wrong number of product pods generated.
<false> is not true.
Stack trace:
test/integration/main_page_test.rb:63:in `block in <class:MainPageTest>'
test-unit (2.5.0) lib/test/unit/ui/testrunnermediator.rb:44:in `block in run'
test-unit (2.5.0) lib/test/unit/ui/testrunnermediator.rb:89:in `with_listener'
test-unit (2.5.0) lib/test/unit/ui/testrunnermediator.rb:39:in `run'
test-unit (2.5.0) lib/test/unit/autorunner.rb:378:in `block in run'
test-unit (2.5.0) lib/test/unit/autorunner.rb:434:in `change_work_directory'
test-unit (2.5.0) lib/test/unit/autorunner.rb:377:in `run'
test-unit (2.5.0) lib/test/unit/autorunner.rb:58:in `run'
答案 0 :(得分:0)
没有足够的信息来解决这个问题。我可以做出一堆疯狂的猜测,但它们不是很有用。您确定开发人员的计算机和CI上的环境是相同的(Ruby,Gems,依赖项的版本)吗?你如何在CI上运行测试?
答案 1 :(得分:0)
您的问题似乎可能位于您的
中MainPageTest.test_Pod_are_created_correctly
测试 - 如果没有正确填充数据库,那么原始问题就会引起,因为选择器“484802314”的外观是数据库中行的ID。
然而,就像@Stefan Kanev在他的回答中提到的那样,没有提供足够的信息来提供准确的答案。