Тестирование функции Javascript с использованием Jasmine - PullRequest
0 голосов
/ 05 мая 2018

У меня есть проблема, когда я пытаюсь протестировать некоторый javascript, я не уверен, что код на самом деле тестируемый, но тогда я был бы рад узнать, как сделать его тестируемым.

$("#Button").on('touchstart', () => testFunc());

function testFunc() {
    button(true, userInfo, gameCode);
}

Я хочу проверить, когда при касании кнопки вызывается testFunc. Я использую Жасмин в качестве моей тестовой среды.

Но по какой-то причине, когда я пытаюсь вызвать testFunc от Жасмин, просто чтобы проверить, что что-то работает, я получаю ошибку

"ReferenceError: Can't find variable: testClass in file:///E:/Dokumenter/SemesterProjekt%20fun%20stuff/PRJ4Web/TankWebApplication/TankWebApplication/Test/Test.js (line 8)s"

Я сделал ссылку на файл. Поэтому я не уверен, что происходит.

Тестовый код , который выдает ошибку

describe("Joystick test for functionallity",
function() {
    beforeEach(function() {

    });


    it("All default values",
        function() {
            testFunc();
        });
});

Как мне проверить этот код? Можно ли это сделать?

1 Ответ

0 голосов
/ 05 мая 2018

Ваша цель - узнать, будет ли функция вызываться при нажатии кнопки, поэтому вы должны проверить фактический вызов функции с помощью toHaveBeenCalled Жасминовый метод.

Вызов функций сам по себе не имеет никакого смысла (как в вашем примере)

Вы должны сделать что-то вроде этого:

  it('All default values', => {

    spyOn(class.testFunc);
    document.getElementById('Button').click();

    expect(class.testFunc).toHaveBeenCalled();
  }));
 })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...