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