Жасмин обнаружил исключение объявления

Запуск Visual Studio У меня есть следующий тест жасмина.

'use strict';

///<reference path="jasmine.js"/>
///<reference path="../../Scripts/angular.min.js"/>
///<reference path="../../Scripts/angular-route.min.js"/>
///<reference path="../../Scripts/angular-mocks.js"/>
///<reference path="../application.js"/>

describe('StatusPage Tests', function () {
    describe('Application Functions', function () {
        var location;

        beforeEach(module("StatusApplication"));

        beforeEach(inject(function($location) {
            location = $location;
        }));

        it('DetermineRootUrl_Application_RootUrl', function () {
            var result = DetermineRootUrl(location);

            var expectedResult = 'https://localhost/OK59SP1/';
            expect(expectedResult).toBe(expectedResult);
        });
    });
});

проблема возникает, когда я пытаюсь использовать функцию angular -mock. как только я включаю любой из блоков beforeEach, тест не запускается, и единственное сообщение, которое я получаю, "встречается с исключением извещения"

Я не уверен, что я делаю здесь неправильно, любые предложения? Я проверил пути к указанным файлам, и они верны.

Ответ 2

Ссылки должны быть в верхней части файла (fooobar.com/questions/184555/...). Я рекомендую также создать файл ссылок со всеми включенными ссылками. Таким образом, вы должны включить только один файл во все тесты. (Как ссылаться на несколько файлов для javascript IntelliSense в VS2010)

Это должно работать:

///<reference path="jasmine.js"/>
///<reference path="../../Scripts/angular.min.js"/>
///<reference path="../../Scripts/angular-route.min.js"/>
///<reference path="../../Scripts/angular-mocks.js"/>
///<reference path="../application.js"/>

'use strict';

describe('StatusPage Tests', function () {
    describe('Application Functions', function () {
        var location;

        beforeEach(module("StatusApplication"));

        beforeEach(inject(function($location) {
            location = $location;
        }));

        it('DetermineRootUrl_Application_RootUrl', function () {
            var result = DetermineRootUrl(location);

            var expectedResult = 'https://localhost/OK59SP1/';
            expect(expectedResult).toBe(expectedResult);
        });
    });
});

Ответ 3

Это произошло для меня в jest, когда я использовал expect прямо внутри describe. expect должен вызываться внутри it (или любого другого псевдонима, например, xtest, test)

describe('a', () => {
   expect(1).toEqual(0); /// encountered a declaration exception

   it('b', () => {
      expect(1).toEqual(0); /// works fine
   });
});