我需要使用“Mocha”点击link..etc来测试JavaScript中的“事件”,例如按钮点击。
我有3个文件1)Login.html,2)Application.js,3)test.js。
1)Application.js文件包含以下代码:
function doclick() {
document.getElementById("myBtn").innerHTML = alert("Going to test Events in JavaScript");
}
2)test.js包含以下代码:
var expect = chai.expect;
describe('Testing', function() {
it('Testing the Events in JavaScript', function() {
var v1 = doclick();
expect(v1).to.equal("Going to test Events in JavaScript");
});
3)login.html包含以下代码:
document.getElementById(“myBtn”)。addEventListener(“click”,doclick);
我需要测试单击按钮的时间,它应该显示警告,并显示“正在JavaScript中测试事件”实际上它。但是浏览器没有显示我的测试用例是通过还是失败。
我认为我在“test.js”文件中出错了,我做错了什么?
答案 0 :(得分:0)
两件事:
innerHTML值显示实际Button 上的,而不是单击按钮时显示的值。你不必做或设置任何其他东西来获得该功能;这是你的addEventListener调用正在做的事情。如果要显示警报,则需要执行的所有文档都是:
function doclick() {
alert("Going to test Events in JavaScript");
}
现在,看起来你想要doclick做的不仅仅是发送警报,还要返回一个值,以便在test.js中使用。这需要是那个字符串吗?鉴于doclick只做了一件事,不是真的。如果您只想测试它运行,请将doclick返回true并最初将v1设置为false。然后将v1设置为期望值为true而不是长字符串。
function doclick() {
alert("Going to test Events in JavaScript");
return true; //I ran, so return true.
}
var expect = chai.expect;
describe('Testing', function() {
it('Testing the Events in JavaScript', function() {
var v1 = false;
v1 = doclick();
expect(v1).to.equal(true); //or whatever the syntax here is, I haven't used expect before
});
});
我假设你的其余语法是正确的 - " it()"是一个有效的函数,您的test.js文件最终运行没有错误。如果对Mocha有更多了解的人想回答我可能会把他们的知识放在我的身上,但到目前为止还没有其他人回答它至少是解决一些JS代码相关问题的起点问题!