Tôi đang theo dõi "Hướng dẫn về Ruby on Rails" của Michael Hartl: Tìm hiểu phát triển web "và tạo các kiểm tra kiểm tra tên và email của người dùng về tính hợp lệ của độ dài (tên tối đa là 50 ký tự, email là 255 ký tự). Nội dung của test/helpers/application_helper_test.rb
là:Lỗi MiniTest: "NameError: uninitialized constant"
require 'test_helper'
class ApplicationHelperTest < ActionView::TestCase
test "full_title_helper" do
assert_equal full_title, FILL_IN
assert_equal full_title("Help"), FILL_IN
end
end
Khi chạy bundle exec rake test
, tất cả đều pass, nhưng tôi thấy thông báo sau gắn cờ là một lỗi ở cuối:
ERROR["test_full_title_helper", ApplicationHelperTest, 1.820016791]
test_full_title_helper#ApplicationHelperTest (1.82s)
NameError: NameError: uninitialized constant ApplicationHelperTest::FILL_IN
test/helpers/application_helper_test.rb:5:in `block in <class:ApplicationHelperTest>'
test/helpers/application_helper_test.rb:5:in `block in <class:ApplicationHelperTest>'
Bất kỳ ý tưởng làm thế nào để sửa chữa điều này?
Tôi muốn tưởng tượng 'FILL_IN' có nghĩa là để được phản ánh như một số loại tập thể dục hoặc một cái gì đó, không được sử dụng theo nghĩa đen. –
Chính xác. Nếu bạn đọc kỹ thông báo lỗi, Ruby sẽ nói với bạn rằng nó không biết 'FILL_IN' là gì. Đọc mô tả tập thể dục https://www.railstutorial.org/book/filling_in_the_layout#sec-layout_exercises –
Các bạn hoàn toàn đúng, đó là vấn đề. Tôi đã thay thế FILL_IN bằng "Ứng dụng mẫu hướng dẫn Ruby on Rails" và "Trợ giúp | Ứng dụng mẫu hướng dẫn Ruby on Rails" đã giải quyết được lỗi. Cảm ơn! – hworth