当我尝试测试一些javascript时,我遇到了问题,我不确定代码是否真的可测试,但是我很高兴知道如何使其可测试。
$("#Button").on('touchstart', () => testFunc());
function testFunc() {
button(true, userInfo, gameCode);
}
我想测试何时触摸按钮是否调用了testFunc
。我使用Jasmine作为我的测试框架。
但是无论出于何种原因,当我尝试从Jasmine调用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();
});
});
如何测试此代码?可以做到吗?
您的目标是查看该函数是否会在单击按钮时被调用,因此,您必须检查实际的函数调用toHaveBeenCalled
茉莉花法。
调用函数本身没有任何意义(如您的示例所示)
你应该做这样的事情:
it('All default values', => {
spyOn(class.testFunc);
document.getElementById('Button').click();
expect(class.testFunc).toHaveBeenCalled();
}));
})