Mam projekt, w którym testy jednostek wewnętrznych powinny znajdować się w innym drzewie katalogów niż testowany kod źródłowy. Trochę tak:Ładowanie zależności poza katalogiem Intern podczas uruchamiania testów przez Selenium
projectRoot
projectRoot/src
projectRoot/tests
projectRoot/tests/intern.js
projectRoot/tests/node_modules/intern
projectRoot/tests/MyTestSuite.js
W Intern pliku konfiguracyjnego zdefiniować pakiet AMD, który używa ścieżki względne z ../
dotrzeć src
z zestawów testów jednostkowych. Oto przykład konfiguracji:
define({
environments: [ { browserName: 'chrome', platform: 'WINDOWS' }],
webdriver: { host: 'localhost', port: 4444 },
useSauceConnect: false,
loader: {
packages: [
{ name: 'testSuites', location: '.' },
{ name: 'externalDep', location: '../src' }
]
},
suites: [ 'testSuites/MyTestSuite' ]
});
a test suite dopasowanie jednostka
define([ "intern!tdd", "intern/chai!assert","externalDep/ExternalDep"],
function(tdd, assert, ExternalDep) {
tdd.suite("Suite that has external dependency", function() {
tdd.test("Test if external dependency is loaded correctly", function() {
assert(ExternalDep === "hello");
});
});
}
);
Działa to dobrze, gdy testowane bezpośrednio w przeglądarce (client.html) lub węzła (client.js). Po uruchomieniu przez serwer Selenium (z runner.js), plik client.html uruchomiony w przeglądarce uruchomionej przez Selenium nie może znaleźć zewnętrznych zależności. W powyższym przykładzie próbuje zażądać ExternalDep pod adresem http://localhost:9000/__intern/src/ExternalDep.js
, który jest 404 ponieważ katalog src
nie znajduje się w pamięci wewnętrznej.
Przypuszczam, że jeśli wstawię plik intern.js do najwyższego wspólnego super-katalogu zarówno testów, jak i kodu źródłowego, będzie działał. Ale nasz projekt jest obecnie skonfigurowany w sposób, który czyni to niepraktycznym. Czy istnieje sposób na konfigurowanie źródeł, które żyją poza lokalizacją pliku konfiguracyjnego Intern, czy też popełniłem głupi błąd?
Dzięki!
Mogę mieć ten sam problem; Otworzył problem tutaj: https://github.com/theintern/intern/issues/204 – ben