Jaki jest najlepszy sposób testowania logiki w układzie szyn 3?Korzystanie z protokołu RSpec w celu przetestowania układu
Przykład: gdy użytkownik zaloguje się na mojej stronie, jeśli nie zakończył procesu wprowadzania, pokazuję im alert u góry ekranu na WSZYSTKICH stronach. Ta logika została umieszczona w układzie aplikacji. Po prostu sprawdzam zalogowanego użytkownika pod kątem określonego klucza. Jeśli klucz NIE jest obecny, wyświetlam ostrzeżenie. Gdy tylko klucz jest obecny (co oznacza, że ukończył proces instalacji), NIE pokazuję ostrzeżenia.
Obecnie próbuję zrobić to z testem widoku, ale otrzymuję wszelkiego rodzaju ActionView::Template::Error: undefined method
uwierzytelnianie "dla zer: NilClass" błędów poprzez włączenie układu aplikacji i nie mogę przetestować tej funkcji.
Muszę się upewnić, że mam to pod kontrolą, ponieważ jeśli z jakiegoś powodu jeden z moich programistów przypadkowo zepsuje tę funkcję (widok pokazujący się z wprowadzeniem nie jest kompletny), musimy wiedzieć od razu po kompilacji.
Kod, który próbuję przetestować na moim układ wygląda następująco:
<% if user_signed_in? %>
<% unless current_user.has_completed_onboarding? %>
<div class="alert">
You cannot accept payments from your clients until you set up your payment gateway.
<%= link_to "Set up your", payment_gateway_path %> payment gateway. Its quick, we promise. :)
</div>
<% end %>
<% end %>
chcę, aby upewnić się, że jeśli Onboarding szczegóły nie zostały przewidziane, że ta wiadomość pojawi i czy mają zostały dostarczone, a następnie nie wyświetlaj tej wiadomości.