Erstellen und Verwenden eines Elixir-Helfermoduls in Phoenix

8

Ich habe eine Gruppe von Akzeptanztests, die ich in meiner faux blog phoenix App erstellt habe. Es gibt eine duplizierte Logik zwischen ihnen. Ich würde gerne zu einem Helfer-Modul wechseln, um die Dinge trocken zu halten.

Hier ist die Verzeichnisstruktur:

%Vor%

In der Datei helpers.exs möchte ich die duplizierte Akzeptanz-Test-Logik beibehalten. Es sieht ungefähr so ​​aus:

%Vor%

Dann in einer meiner Testdateien, sagen wir index_test.exs , ich möchte das Helfermodul importieren, um seine Methoden zu verwenden:

%Vor%

Allerdings bekomme ich diesen Fehler:

  

** (CompileError) test / acceptance / post / index_test.exs: 7: Modul Blog.Acceptance.Post.Helpers ist nicht geladen und konnte nicht gefunden werden

Wie bekomme ich Zugriff auf oder lade das Hilfsmodul in meinen Testdateien?

    
Elliot Larson 11.02.2016, 01:20
quelle

1 Antwort

17

Um das Modul test_helpers.exs Helpers verfügbar zu machen, müssen Sie Code.require_file verwenden, um es zu laden. In diesem Fall hat Phoenix jedoch Ihr Projekt so konfiguriert, dass .ex files in test/support genau für solche Fälle in das Projekt kompiliert wird. Wenn Sie also Ihr Modul in test/support/test_helpers.ex platzieren, wird es mit Ihrem Projekt kompiliert und für alle Testdateien verfügbar, ohne Code.require_file it.

    
Chris McCord 11.02.2016, 01:45
quelle

Tags und Links