Beim Komponententest habe ich am Anfang meiner Projektstruktur ein Verzeichnis mit dem Namen test
, dessen Verzeichnisstruktur den Quellcode nachahmt, der getestet werden soll. Diese Verzeichnisse können jedoch ziemlich tief werden, zum Beispiel
app/src/js/models/User.js
mit vielleicht einem Test in
test/app/src/js/models/User.js
.
Wenn ich nun das User.js
Modul einfügen möchte, verwende ich require('../../../../../app/src/js/models/Users.js')
, was sehr umständlich ist.
Idealerweise würde ich require('/app/src/js/models/User.js')
oder vielleicht sogar require('User.js')
verwenden.
Ist das möglich? Ich benutze grunt-mocha-test , aber ich denke, die Frage ist allgemeiner.
Es gibt mehrere Optionen, die Sie verwenden könnten. Ihre beste Wette wäre wahrscheinlich, einige npm Modul zu verwenden, zum Beispiel dieses . Durchsuche das npm-Verzeichnis nach require , es gibt Unmengen an Optionen, also wähle, was dir am besten passt.
Alternativ könnten Sie eine Hilfsfunktion schreiben, die etwas Ähnliches macht.
Wenn Sie nach einer systemeigenen Methode (in Node.js integriert) gesucht haben, um dies zu erreichen, gibt es leider keine. Sie müssen entweder eine benutzerdefinierte Funktion oder ein npm-Modul verwenden, um dies auf eine nette, wiederverwendbare Weise zu tun.