2012-01-30 30 views
7

Zainstalowałem jaśmin-węzeł używając npm. Struktura katalogów mojego projektu są następujące:Dlaczego jaśmin-węzeł nie znajduje moich plików spec?

|-lib\ 
    |-taxCalc.js 
|-spec\ 
    |-taxCalc.spec.coffee 
    |-taxCalc.spec.js 
|-src\ 
    |-taxCalc.coffee 

Kiedy biegnę jaśmin-węzeł z katalogu głównego z następującą komendę (na coffeescript):

jasmine-node --coffee --verbose spec 

Finished in 0.015 seconds 
0 tests, 0 assertions, 0 failures 

samo, jeśli uruchomić wersję JavaScript.

Gdybym wyraźnie podkreślić spec testy plików działać prawidłowo:

jasmine-node --coffee --verbose spec/taxCalc.spec.coffee 

Tax calculation 
    calculates tax 

Finished in 0.009 seconds 
1 test, 1 assertion, 0 failures 

Dokumentacja mówi, że nazwy plików powinny kończyć „spec.js” lub „spec.coffee”, więc wszystko wydaje się w porządku.

P.S. Używam Windows 7.

+0

Jedyne co wiem to to, że okna wymagają ścieżek w pliku node.js, aby były obsługiwane inaczej. Exmpl; "C:/bla" musiałby być "C: \/bla". może być, że dev jaśminu nie testuje się na windows .. – japrescott

+0

Dzięki za pomysł - spróbuję przetestować RegEx używany w węźle jaśminu, jeśli znajdzie specyficzne dla Windows ścieżki. – marisks

+0

Mam projekt w systemie Windows o strukturze podobnej do twojej, ale nie mam problemu. Czy robi to różnicę, jeśli jesteś bardziej konkretny, że spec jest katalogiem: '' 'jaśmin-węzeł -coffee --verbose. \ Spec \' '? –

Odpowiedz

2

Natknąłem się na ten sam problem i przeczytałem link MarisKs zbyt późno:/- ale doszedłem do tego samego wniosku, co opisane w numerze: Przynajmniej na Windows 7, file.stat.ino zwraca zawsze 0, więc funkcja createInodeChecker() w findit/index.js zwraca zawsze wartość true, a plik zostanie pominięty.

Najprostsza on-the-fly-fix: createInodeChecker edycji do

function createInodeChecker() { 
    var inodes = {}; 
    return function inodeSeen(inode) { 
     if (inode == 0) { 
      return false; 
     } 

     if (inodes[inode]) { 
      return true; 
     } else { 
      inodes[inode] = true; 
      return false; 
     } 
    } 
} 

nie miły, ale można z nim pracować.

+0

Przetestowałem to. To działa dobrze! Zaproponowałem również rozwiązanie dla "findit": https://github.com/substack/node-findit/issues/5 – marisks

3

Węzeł jaśminowy został zaktualizowany w zeszłym tygodniu, aby używać polecenia walkdir zamiast findit, który teraz powoduje jego działanie w oknach. Ponownie uruchom npm install jasmine-node dla aktualizacji.

Powiązane problemy