如何使用 minitest 在我的 fixtures 文件中计算项目的 ID?
How do I figure the ID of an item in my fixtures file using minitest?
我正在使用 Rails 5 和 minitest。在我的测试文件中,我怎么知道我的灯具文件中的其中一项的 ID 是什么?我有以下架构
create_table "lines", force: :cascade do |t|
t.string "route_long_name"
t.string "name"
t.integer "system_type"
t.string "color"
t.string "onestop_id"
t.string "vehicle_type"
t.string "wheelchair_accessible"
t.string "bikes_allowed"
t.index ["onestop_id"], name: "index_lines_on_onestop_id"
t.index ["route_long_name"], name: "index_lines_on_route_long_name"
end
然后在我的 test/fixtures/lines.yml 中,我创建了这个 fixture
one:
id: "1"
name: "line1"
color: "green"
So in my minitest test, I try this
test "get show page with valid line id" do
test_line_id = "1"
line = Line.find_by_id(test_line_id)
puts "inspect1: #{line.inspect}"
assert_not_nil line
get line_url(line)
line = assigns(:line)
puts "inspect2 #{line.inspect}"
assert_equal test_line_id, line.id
assert_response :success
end
但是线
assert_equal test_line_id, line.id
死于错误
Expected: "1"
Actual: "980190962"
那么如何找出我的灯具文件中项目的 ID?
你不需要那样做。
如果您只想确保获得有效行的 URL...那么您可以得到任何行。您不需要通过 id 获取它,例如:
test "get show page with valid line id" do
# Get any line - it doesn't matter which
line = Line.first
assert_not_nil line
get line_url(line)
line = assigns(:line)
assert_equal test_line_id, line.id
assert_response :success
end
我正在使用 Rails 5 和 minitest。在我的测试文件中,我怎么知道我的灯具文件中的其中一项的 ID 是什么?我有以下架构
create_table "lines", force: :cascade do |t|
t.string "route_long_name"
t.string "name"
t.integer "system_type"
t.string "color"
t.string "onestop_id"
t.string "vehicle_type"
t.string "wheelchair_accessible"
t.string "bikes_allowed"
t.index ["onestop_id"], name: "index_lines_on_onestop_id"
t.index ["route_long_name"], name: "index_lines_on_route_long_name"
end
然后在我的 test/fixtures/lines.yml 中,我创建了这个 fixture
one:
id: "1"
name: "line1"
color: "green"
So in my minitest test, I try this
test "get show page with valid line id" do
test_line_id = "1"
line = Line.find_by_id(test_line_id)
puts "inspect1: #{line.inspect}"
assert_not_nil line
get line_url(line)
line = assigns(:line)
puts "inspect2 #{line.inspect}"
assert_equal test_line_id, line.id
assert_response :success
end
但是线
assert_equal test_line_id, line.id
死于错误
Expected: "1"
Actual: "980190962"
那么如何找出我的灯具文件中项目的 ID?
你不需要那样做。
如果您只想确保获得有效行的 URL...那么您可以得到任何行。您不需要通过 id 获取它,例如:
test "get show page with valid line id" do
# Get any line - it doesn't matter which
line = Line.first
assert_not_nil line
get line_url(line)
line = assigns(:line)
assert_equal test_line_id, line.id
assert_response :success
end