0
我正在运行一个测试,我已经在rails中创建了一个简单的assert_select,它应该根据我的灯具填充5个div。但是每次没有发现有0个元素被发现,当时有5个元素被发现。是否有可能看到测试基于此的输出?从控制台查看导轨测试
下面是一个真实给我的麻烦特定的测试:
require 'test_helper'
class PostsControllerTest < ActionController::TestCase
test "should get index" do
get :index
assert_response :success
assert_select '.contentBox', minimum: 5
end
end
和错误:
Finished tests in 0.403847s, 2.4762 tests/s, 4.9524 assertions/s. 1) Failure: test_should_get_index(PostsControllerTest) [/var/www/site/test/functional/posts_controller_test.rb:7]: Expected at least 5 elements matching ".contentBox", found 0. 1 tests, 2 assertions, 1 failures, 0 errors, 0 skips rake aborted!
应当注意的是,当手动添加了从铁轨控制台(如Post.new,等等)一切工作正常,我可以手动检查来源,并看到有适当数量的项目。所以它让我相信我在测试中做了错误的事情。
应该' puts @ response.body'被放置在测试中?如果是这样,我似乎没有得到任何输出。 – bswinnerton
是的,它应该在测试中,并且应该在向控制器发出请求之后,以便响应可用。这也可以帮助http://guides.rubyonrails.org/testing.html#instance-variables-available。此外,如果它不太透露,看到测试可能会有所帮助。 –
我已更新该帖子以包含我收到的测试和错误。 – bswinnerton