ruby 2.6.3 rails 6.0.3 AWS cloud9
michael:
name: Michael Example
email: [email protected]
password_digest: <%= User.digest('password') %>
archer:
name: Sterling Archer
email: [email protected]
password_digest: <%= User.digest('password') %>
lana:
name: Lana Kane
email: [email protected]
password_digest: <%= User.digest('password') %>
malory:
name: Malory Archer
email: [email protected]
password_digest: <%= User.digest('password') %>
<% 30.times do |n| %>
user_<%= n %>:
name: <%= "User #{n}" %>
email: <%= "user-#{n}@example.com" %>
password_digest: <%= User.digest('password') %>
<% end %>
Generieren Sie einen Integrationstest, um einen Test für die Indexseite zu schreiben
$ rails generate integration_test users_index
invoke test_unit
create test/integration/users_index_test.rb
Und test/integration/users_index_test.rb
require 'test_helper'
class UsersIndexTest < ActionDispatch::IntegrationTest
def setup
@user = users(:michael)
end
test "index including pagination" do
log_in_as(@user)
get users_path
assert_template 'users/index'
assert_select 'div.pagination'
User.paginate(page: 1).each do |user|
assert_select 'a[href=?]', user_path(user), text: user.name
end
end
end
Schienen t
Finished in 2.099836s, 16.6680 runs/s, 0.0000 assertions/s.
35 runs, 0 assertions, 0 failures, 35 errors, 0 skips
Wenn Sie das obige Bild betrachten, ist der Einzug ausgeschaltet (Lana: in Zeile 11), aber dies scheint die Ursache zu sein. Wenn Abweichungen auftreten, werden diese offenbar nicht als Spalte behandelt, und es tritt ein Fehler auf. Außerdem schlagen alle Tests fehl Dies liegt daran, dass die Pre-Fixture-Daten bei der Vorverarbeitung jedes Tests gelesen werden. Trotzdem ist es schwierig, mit dieser einen Abweichung 5 Stunden lang zerkleinert zu werden.
Recommended Posts