2012-06-10 5 views
25

Ich habe ein Problem mit QUNIT, egal was ich zu tun scheint, die Testsuites werden immer nur einen Test oder ein Modul erkennen, obwohl ich mehrere im Javascript habe. Jede Hilfe wird sehr geschätzt!QUnit kann nicht mehr als einen Test erkennen

<script> 
      $(document).ready(function(){ 
      QUnit.log = function(result, message) 
      { 
       if (window.console && window.console.log) 
       { 
        window.console.log(result +' :: '+ message); 
       } 
      } 
      module("Basic Unit Test"); 
      test("Sample test", function() 
      { 
       expect(1); 
       equal(divide(4,2),2, 'Expected 2 as the result, result was ' + divide(4,2)); 
      }); 
         test("Test two", function() { 
         expect(1); 
         equal(divide(8,2),2,'Expected 4 as the result, result was ' + divide(8,2)); 
         }); 

      function divide(a,b){ 
       return a/b; 
      } 
      }); 

    </script> 

Antwort

72

Wahrscheinlich haben Sie QUnit-URL-Parameter in der URL, die das Testen auf die in diesen Filterparametern angegebenen Module/Tests beschränken (unter http://docs.jquery.com/Qunit siehe "URL-Parameter"). Beginnen Sie mit einer sauberen URL und dann sollten alle Ihre Tests ausgeführt werden.

z. Ihre URL enthält blah.html?testNumber=1. Dies bedeutet, dass nur ein Test ausgeführt wird. Entfernen Sie ?testNumber=1.

+3

das ist die richtige Antwort, nicht vorher :) – asdf

+1

das ist, was ich suche. Danke. :) – viji

+1

Dieser Link funktioniert nicht mehr (leitet zu QUnit nach Hause). –

28

Früher als Sie es eingerichtet haben, haben Sie auf "Wiederholen" geklickt. Dies fügt Ihrer URL eine "? TestNumber = 1" hinzu, die das Ausführen aller anderen Tests ausschließt.

Frustrierend wie leise das ist.

+4

Danke, danke, DANKE für eine klare, präzise Antwort. Das hat mich für 20 Minuten getötet! –

+0

Vielen Dank @sirbrialliance! – theycallmemorty

+0

War frustrierend, wurde aber interessant, als ich anfing, mit den Zahlen zu spielen? TestNumber = 1,2,3 ... Interessanterweise führt es nur den speziellen Testfall mit welcher Nummer auch immer aus. :) Vielen Dank für die Antwort. –