Rails 测试全解析:从单元到集成
1. 单元测试模型
1.1 测试用例示例
首先来看一个测试邮箱验证的用例:
def test_email_validation
user = User.new(:email => "invalidemail.com")
assert !user.valid?
assert_equal "is invalid", user.errors.on(:email)
end
这个测试用例创建了一个用户对象,其邮箱地址是无效的,然后验证该用户对象是无效的,并且检查邮箱字段的错误信息是否符合预期。
1.2 使用 Fixtures
Fixtures 可以帮助我们在测试数据库中预填充数据,每次运行测试时,测试数据库都会恢复到 Fixture 指定的状态。例如,对于用户模型的 Fixture( users.yml ):
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
first:
id: 1
another:
id: 2
我们可以使用 YAML 或 CSV 格式的 Fixture。默认生成的文件使用 YAML 格式,文件名是数据库表名的复数形式。
为了测试用户名的唯一性,我们可以这样做:
1. 编辑 users.
超级会员免费看
订阅专栏 解锁全文
24

被折叠的 条评论
为什么被折叠?



