2015-07-21 11 views
6

Mam dość prostą repro z wynikiem, którego nie rozumiem.Uruchamianie testów QUnit (TypeScript) z Chutzpah daje "Called start() poza kontekstem testu, gdy już się rozpoczął"

Sprawdź, czy masz zainstalowany adapter testowy Chutpah 4.0.3. Za pomocą Visual Studio 2013 wykonaj następujące czynności:

  1. Utwórz nowy projekt biblioteki klas .NET 4.5.1;
  2. Dodaj pakiet NuGet qunit.TypeScript.DefinitelyTyped 0.1.7;
  3. Dodaj plik maszynopisu file1.ts z projektem z tej treści:

    /// <reference path="./Scripts/typings/qunit/qunit.d.ts"/> 
    QUnit.test("QUnit is working", assert => assert.ok(true)); 
    
  4. prawym przyciskiem myszy wewnątrz tego pliku i wybierz „Run Tests JS” z menu kontekstowego.

Mogę potwierdzić, że file1.js jest generowany zgodnie z oczekiwaniami.

Rezultatem jest to, że żadne testy są prowadzone, badacz badanie nie wykazuje żadnych testów, a wyjście pokazy testowe:

Error: Error: Called start() outside of a test context while already started 
at start in file:///C:/Users/username/AppData/Local/Microsoft/VisualStudio/12.0/Extensions/abcxyz/TestFiles/QUnit/qunit.js (line 287) 
at startQUnit in phantomjs://webpage.evaluate() (line 12) 
at onPageLoaded in phantomjs://webpage.evaluate() (line 16) 
in phantomjs://webpage.evaluate() (line 18) 
While Running:c:\users\username\documents\visual studio 2013\Projects\ClassLibrary3\ClassLibrary3\file1.ts 
------ Test started: File: c:\users\username\documents\visual studio 2013\Projects\ClassLibrary3\ClassLibrary3\file1.ts ------ 
Error: Error: Called start() outside of a test context while already started 
While Running:c:\users\username\documents\visual studio 2013\Projects\ClassLibrary3\ClassLibrary3\file1.ts 
0 passed, 0 failed, 0 total (chutzpah). 

========== Total Tests: 0 passed, 0 failed, 0 total ========== 

Gdybym wybrać „Otwórz w przeglądarce” menu kontekstowego bezczelności dostaję regularne QUnit strona testowa, ładnie sformatowana, pokazująca zero testów.

Oczywiście oczekiwanym rezultatem był pomyślny przebieg jednego testu.

Czego mi tu brakuje?

Odpowiedz

8

D'oh! The Chutzpah + TypeScript documentation jest rzeczywiście całkiem jasne na ten temat:

Trzeba powiedzieć bezczelności jak skompilować pliki do kompilacji kodu JavaScript za pomocą ustawień w pliku chutzpah.json.

Dla scenariusza z pytania, na przykład: te kroki, aby go uruchomić:

  1. Dodaj plik chutzpah.json do katalogu głównego projektu.
  2. wprowadź następujący kod:

    { 
        "Compile": { 
         "Mode": "External", 
         "Extensions": [".ts"], 
         "ExtensionsWithNoOutput": [".d.ts"] 
        } 
    } 
    

    Po tym prowadzony prawym przyciskiem myszy będzie już poprawić, pokazując:

    ========== Total Tests: 1 passed, 0 failed, 1 total ==========

    Jeśli to nie zadziała od razu zamknij i ponownie otwórz rozwiązanie.

  3. Aby przeprowadzić testy w Eksploratorze testów, należy je pogrupować w moduły, np.dodając do tego file1.ts:

    QUnit.module("Qu.Testing"); 
    

Aby uzyskać więcej informacji, zobacz Compile Setting documentation.

Pozostawienie tego tutaj, gdyby inni wpadli w tę samą pułapkę, którą zrobiłem.

Powiązane problemy