Как использовать momentJs в модульных тестах Karma / Jasmine для AngularJS? - PullRequest
0 голосов
/ 16 апреля 2019

Я использую momentJS в своем проекте AngularJS.

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

Вот мой конфигурационный файл:

// list of files / patterns to load in the browser
files: [
    // './bower_components/moment/min/moment.min.js',
    // './bower_components/moment-timezone/builds/moment-timezone.min.js',
    // './bower_components/moment/min/moment-with-locales.js',
    // './bower_components/moment-timezone/builds/moment-timezone-with-data.js',
    './bower_components/moment/moment.js',
    './bower_components/moment-timezone/moment-timezone.js',

    './source/builds/vendors.js',
    './node_modules/angular-mocks/angular-mocks.js',
    './source/builds/vendors.css',
    './source/builds/app.css',
    './source/builds/bundle.js',
    './source/js/**/*.spec.js'
],

Я получаю эту ошибку: Ошибка типа: момент (...). Год (...). Неделя не является функцией

Я не уверен, как исправить ошибку.

1 Ответ

0 голосов
/ 24 апреля 2019

Для запуска модульного теста для момента первое, что нам нужно проверить, - это чтобы файлы moment.js и angular-moment.js были включены в файл конфигурации

files: [
    '../bower_components/moment/moment.js',
    '../bower_components/angular-moment/angular-moment.js',
]

После этого в спецификацииfile

describe('Moment Tests', function() {
    var _moment;
    beforeEach(inject(function(moment) {
        _moment: moment
    }));
});


describe('Test for date by provided format', function (){

    it('should return date by provided format', function() {
        var expectedYear = _moment(new Date().year());
        expect(2019).toEqual(expectedDate);
    });
});

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...