2014-07-22 18 views
5

Chciałbym ukryć niepełnosprawne specyfikacje jaśminu, gdy przeprowadzę wybrane testy. Będę miał wiele testów, więc nie chciałbym przewijać po każdym odświeżeniu, aby osiągnąć testy, które są na dole.JavaScript, Jasmine, ukryj jaśminowe specyfikacje

Czy jest jakaś opcja w jaśminu, która pozwala na to? Przeszedłem przez dokumenty, ale niczego nie znalazłem.

+1

chciałbym zrobić to samo. Wersja 1.3 ukryłaby specyfikacje, które nie były uruchamiane. –

Odpowiedz

3

To była decyzja projektowanie obrotowym co zostało udokumentowane przez ten problem.

https://github.com/pivotal/jasmine/issues/510

Oto dylemat od komentarza w tej sprawie.

W jaśminu-html.js, dodać funkcję rekurencyjnie określić, czy węzeł wynik ma żadnych aktywnych Specyfikacja:

function hasActiveSpec(resultNode) { 
    if (resultNode.type == "spec" && resultNode.result.status != "disabled") { 
    return true; 
    } 

    if (resultNode.type == 'suite') { 
    for (var i = 0, j = resultNode.children.length; i < j; i++) { 
     if (hasActiveSpec(resultNode.children[i])) { 
     return true; 
     } 
    } 
    } 
} 

Następnie w funkcji summaryList, wystarczy uruchomić ten filtr dla apartamentów:

// ... 
var resultNode = resultsTree.children[i]; 
if (resultNode.type == "suite") { 
    // Don't display inactive suites 
    if (!hasActiveSpec(resultNode)) { 
    continue; 
    } 

    // var suiteListNode = ... 
    // ... 
} 
0

Zrobione ze strony intra jaśminu ...

Apartamenty i specyfikacje mogą zostać wyłączone z xdescribe i kończ funkcji, odpowiednio. Te zestawy i wszelkie specyfikacje w nich są pomijane po uruchomieniu , a ich wyniki nie będą wyświetlane w wynikach.

+0

Uważam, że oznacza on, że są pomijane przy użyciu kwerendy. http: // localhost/Tests? spec = Logs –

+1

Na przykład http://jasmine.github.io/2.0/introduction.html?spec=A%20spec zobaczysz wszystkie specyfikacje są wyświetlane, chociaż tylko kilka jest uruchamianych . –

+0

Widzę "** Ran 9 z 70 specyfikacji - uruchom wszystkie 9 specyfikacji, 0 awarii **" i wydaje się, że tylko 9 z nich, czy można wyjaśnić, czego szukam tutaj, który jest poza zwyczajny? – Mike

0

Nie znalazłem sposobu na ukrycie oczekującego testu. Możesz jednak dodać kolejny styl do testu, aby ukryć oczekujący test.

.pending { 
    display: none; 
} 

można zobaczyć przykład roboczy here

1

Jeśli nie chcesz zmodyfikować źródło jaśmin, można również dodać hak tak (mój przykład zakłada jQuery jest obecny):

jasmine.getEnv().addReporter({ 
    jasmineDone: function() { 
     $(".disabled").parents(".suite").hide(); 
    } 
}); 

Aby uzyskać więcej informacji, zobacz http://jasmine.github.io/2.1/custom_reporter.html.