2013-07-12 17 views
8

Próbuję dostać testy jednostkowe Jasmine na angularjs kontroler działa z prowadnicą testowym ReSharper więc mogę uruchomić mojego klienta i po stronie serwera, testy w jednym miejscu w ciągu VS 2012.angularjs testów jednostkowych z ReSharper

I Występuje problem, w którym biegacz testowy ReSharper nie działa z komunikatem "Niekonkurencyjny: test nie został uruchomiony". Ten sam test działa dobrze przy użyciu testera, który jest dostarczany z projektem Seed AngularJS.

Oto mój prosty test do rozwiązywania problemów:

/// <reference path="~/Scripts/angular/angular.js"/> 
/// <reference path="~/tests/test/lib/angular/angular-mocks.js"/> 
/// <reference path="~/Scripts/app/controllers.js"/> 

'use strict'; 

describe('controllers', function(){ 
    beforeEach(module('myApp.controllers')); 

    it('should ....', inject(function() { 
     expect(1).toEqual(1); 
    })); 
}); 

Podejrzewam, że ma to coś wspólnego z moimi referencjami bo gdybym usunąć wywołanie inject, moja próba działa poprawnie. Jednak inject jest zdefiniowany w angular-mocks.js (do którego się odwołuję), więc nie jestem pewien, jaki jest problem.

Wszelkie sugestie?

Odpowiedz

5

Twoje przeczucie, że ReSharper potknie się w linii inject, ma rację, wydaje się, że zamiast tego oczekuje pliku function, aby uzyskać listę testów. Pracowałem, przesuwając inject s do beforeEach lub do ciała it i to uczynił ReSharper szczęśliwy ponownie. Btw, dodałem także odniesienie do jaśmin.js u góry (przed innymi odniesieniami), aby pozbyć się ostrzeżeń ReSharpera o niezdefiniowanych globach Jasmine.

+3

czy mógłbyś/chciałabyś udostępnić kod? – Blowsie

+1

Jaką wersję Jasmine używasz? – Ofiris

0

ReSharper ustaw plik jasmine.js po wszystkich odnośnikach. kątowe-mock.js nie znajdzie jaśminu i pominie tworzenie window.module i window.injec funkcje

stworzyłem jasmine2.js i ustawić go jako pierwszy odniesienia. Zrobiłem puste jaśmin.js i ustawiłem go jako drugie odniesienie.

Po tym wszystkim, co sprawdziłem, zadziałało

Powiązane problemy