Podążam za "Ruby on Rails Tutorial: Learn Web Development" Michaela Hartla i tworzę testy sprawdzające nazwę użytkownika i adres e-mail pod kątem ważności długości (nazwa maksimum 50 znaków, e-mail jako 255 znaków). Zawartość test/helpers/application_helper_test.rb
są:Błąd MiniTest: "NameError: niezainicjowana stała"
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
Po uruchomieniu bundle exec rake test
, wszystkie testy przechodzą, ale widzę następujący komunikat oznaczony jako błąd na końcu:
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>'
Jakieś pomysły jak to naprawić to?
Wyobrażam sobie 'FILL_IN' ma być wypełniona jako pewnego rodzaju ćwiczeń czy coś, nie używany dosłownie. –
Dokładnie. Jeśli uważnie przeczytasz komunikat o błędzie, Ruby powie Ci, że nie wie, co to jest "FILL_IN". Przeczytaj opis ćwiczenia https://www.railstutorial.org/book/filling_in_the_layout#sec-layout_exercises –
Masz absolutną rację, to był problem. Wymieniłem FILL_IN na "Przykładowy przykład aplikacji Ruby on Rails" i "Pomoc | Ruby na Rails Tutorial Sample App", który rozwiązał ten błąd. Dzięki! – hworth