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

时间:2015-11-30 10:43:50

标签: javascript html

我需要使用“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”文件中出错了,我做错了什么?

1 个答案:

答案 0 :(得分:0)

两件事:

  1. doClick()
  2. innerHTML值显示实际Button 上的,而不是单击按钮时显示的值。你不必做或设置任何其他东西来获得该功能;这是你的addEventListener调用正在做的事情。如果要显示警报,则需要执行的所有文档都是:

    function doclick() {
        alert("Going to test Events in JavaScript");
    }
    
    1. test.js
    2. 现在,看起来你想要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代码相关问题的起点问题!