Поддерживает ли Jasmine javascript с помощью => (стрелка)

Жасмин, похоже, не поддерживает =>(если мои собственные выводы верны).

Это фрагмент из моего logic.jsфайла

var myObj = new function(){
    this.getSomething = function(input){
        _myLocalArray.forEach(item =>{
            //left blank
        });
    };
};

Мой тест

/// <reference path="../../Ui/Content/Javascript/logic.js"/>
/// <reference path="jasmine.js" />

describe("My Tests", function () {

it("Description etc", function () {
    var result = myObj.getSomething("some input"); // FAILS HERE
    expect(result.length).toBe(0);
});
...

Он терпит неудачу

Критическая ошибка JavaScript в строке 61, столбец 37 в файле: /// d: /github/Ui/Content/Javascript/logic.js n nSCRIPT1002: Синтаксическая ошибка

Строка 61 показана в фрагменте кода th3e выше с // FAILS ЗДЕСЬ

и затем исключается исключение в Жасмине, которое

myObj не определено

Если я прокомментирую код в логике (где я использую =>), тогда код будет выполняться без этих ошибок

Что я делаю не так? Разве =>не поддерживается? Я ничего не нашел в документах, чтобы подтвердить это.

РЕДАКТИРОВАТЬ

Я не использую nodeJs. Я использую javascript, visual studio 2017, Jasmine и Chutzpah.

javascript,unit-testing,jasmine,arrow-functions,

1

Ответов: 1


3 принят
+50

Это очень важно:

Я использую javascript, visual studio 2017, Jasmine и Chutzpah.

во-первых, нет ванильного javascript ! Или, по крайней мере, узел не означает, что вы не используете vanilla javascript . Только смысл ванили Javascript , что вы не используете какой - либо структуры / библиотеки. Однако вам всегда нужно что-то выполнить javascript. Либо браузер, либо что-то еще node. Существуют и другие варианты, например, Nashorn , GraalVM или Duktape .

Жасмин - это библиотека, написанная Javascript. Поэтому Жасмин не имеет никакого отношения к поддерживаемым функциям Javascript. Однако у Чуцпы есть. Итак, как Chutzpah выполняет ваш javascript? Ну, readme отвечает на этот вопрос:

Chutzpah поддерживает рамки тестирования QUit, Jasmine и Mocha. Chutzpah использует браузер без заголовка PhantomJS для запуска ваших тестов.

и вот ваш ответ: Phantomjs не поддерживает функции стрелок!

На самом деле фантомы мертвы и должны быть заменены такими вещами, как Chrome Headless. Кроме того, активность по Chutzpahвзглядам не очень многообещающая. Поэтому я могу просто посоветовать вам отступить Chutzpahна время и использовать то, что использует Chrome Headless под капотом.

JavaScript, модульное тестирование, жасмин, стрелка-функция,
Похожие вопросы