我从一个简单的测试开始:
class UserTest < ActiveSupport::TestCase
test 'should not create user without email' do
user = User.new
assert_not user.save
end
end
Rails自动生成一些灯具:
one:
email: MyString
login_token: MyString
token_generated_at: 2017-09-10 17:24:55
two:
email: MyString
login_token: MyString
token_generated_at: 2017-09-10 17:24:55
所以你可以看到我没有使用任何灯具进行测试。但是在执行测试时,Rails会抛出异常:
Error:
UserTest#test_should_not_create_user_without_email:
ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: UNIQUE constraint failed: users.email: INSERT INTO "users" ("email", "login_token", "token_date", "created_at", "updated_at", "id") VALUES ('MyString', 'MyString', '2017-09-10 17:24:55', '2017-09-10 15:48:11.483364', '2017-09-10 15:48:11.483364', 298486374)
起初我认为我可以简单地删除灯具。但是后来应该有固定装置,例如非独特的电子邮件。
答案 0 :(得分:0)
为了加载灯具,Rails不需要你的权限。来自documentation:
测试环境将自动加载所有灯具 每次测试前的数据库。为了确保数据的一致性, 环境在运行负载之前删除了灯具。