无法确定我的测试用例是通过还是失败

Unable to identify whether my test case pass or fail

本文关键字:失败 测试用例 无法确定 我的      更新时间:2023-09-26

我需要通过点击链接来测试JavaScript中的"事件",比如点击按钮。。等使用"Mocha"。

我有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("点击",doclick);

我需要测试一下,当点击按钮时,它应该会显示带有"Going to test Events in JavaScript"消息的警报。但是浏览器不会显示我的测试用例是通过还是失败。

我想我在"test.js"文件中犯了错误,我做错了什么?

两件事:

  1. doClick()

innerHTML值是在实际按钮上显示的内容,而不是单击按钮时运行的内容。你不需要做或设置任何其他事情就可以获得该功能;这就是您的addEventListener调用正在执行的操作。如果你想显示警报,doclick需要做的就是:

function doclick() {
    alert("Going to test Events in JavaScript");
}
  1. test.js

现在,您似乎希望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代码相关问题的一个起点!