Rspec Controller innerhalb und außerhalb des Namensraums mit demselben Namen

7

Ich habe folgendes Setup:

%Vor%

Und ebenfalls Angaben:

%Vor%

Alle Spezifikationen laufen gut, wenn sie unabhängig voneinander laufen. Wenn ich jedoch alle zusammen laufe, erhalte ich die Warnung:

%Vor%

Und die Spezifikationen vom Admin-Controller bestehen nicht.

Routen-Datei:

%Vor%

...

Schienen 4, Rspec 2.14

Kann ich nicht denselben Namen für Controller in verschiedenen Namespaces verwenden?

    
Yule 26.09.2013, 11:38
quelle

1 Antwort

23

Dies tritt auf, wenn eine Klasse der obersten Ebene automatisch geladen wird, bevor eine namensbasierte verwendet wird. Wenn Sie diesen Code ohne eine vorinstallierte Klasse haben:

%Vor%

Die erste Zeile wird einen konstanten fehlenden Hook auslösen: "ok, UsersController existiert nicht, also versuchen wir es zu laden".

Aber wenn Sie die zweite Zeile erreichen, ist UsersController tatsächlich bereits auf der obersten Ebene definiert. Es wird also kein const_missing-Hook ausgelöst, und die App versucht, die bekannte Konstante zu verwenden.

Um dies zu vermeiden, benötigen Sie explizit Klassen oberhalb Ihrer Spezifikationsdateien:

%Vor%

Und

%Vor%     
Olivier El Mekki 26.09.2013, 12:31
quelle

Tags und Links