Dan*_*iel 2 unit-testing ruby-on-rails
我已经查看了测试的rails指南,但我似乎可以从我的测试中获取夹具数据.我有一个夹具:
one:
pay_period: one
employee: kent
cpp: 50
ei: 40
tax: 100
vacation_pay: 30
Run Code Online (Sandbox Code Playgroud)
然后我按照下面的测试(其中EmployeePayPeriod是一个模型)
require 'test_helper'
class EmployeePayPeriodTest < ActiveSupport::TestCase
# Replace this with your real tests.
test "Calculate wages under 80 hours correctly" do
p = EmployeePayPeriod(:one)
assert true
end
end
Run Code Online (Sandbox Code Playgroud)
显然以上是行不通的.我看过指南.在指南中,它使用代码片段来说明如何获取夹具数据:
@user = users(:david).
Run Code Online (Sandbox Code Playgroud)
似乎'用户'不是一个模型(因为通常的惯例是它会单数和大写.所以'用户'来自哪里?如果它自动生成应该有可比的'employee_pay_periods'对象可供我使用?(我试过了,但它似乎没有用).
谢谢
小智 6
fixture必须位于.yml文件中,其名称与表名(而不是模型名称)匹配.
假设表名为EmployeePayPeriodis employee_pay_periods,那么你的灯具需要进入test/fixtures/employee_pay_periods.yml,你应该有一个employee_pay_periods()自动生成的方法来访问灯具.
确保您的灯具实际上正在装载.最新的Rails会将以下行添加到test/test_helper.rb:
fixtures :all
Run Code Online (Sandbox Code Playgroud)
这会在每个测试用例之前加载所有灯具.确保此行已存在且未注释掉.
| 归档时间: |
|
| 查看次数: |
800 次 |
| 最近记录: |