如何在测试中抑制FuncUnit单元错误?

时间:2016-12-07 22:09:49

标签: javascript unit-testing testing funcunit

我有一个FuncUnit测试用例,其中我使用

打开一个网页
F.open("http://www.example.com");

我们的网页中存在一个已知问题,即大约20倍于网页的网页因任何原因无法加载。我想在没有加载时重试。但是在FuncUnit中,如果无法加载页面,则无法抑制错误。有没有办法在Funcunit中抑制错误信息?

2 个答案:

答案 0 :(得分:0)

这样的东西不适合你吗?

module("test", {
  setup: function() {
    let startMeUp = () => F.open('http://www.example.com'); // unfortunately doesn't return a usable value
    let checkCondition = () => {
      // grab F(F.window), and check for a known element in the page
      return elementFound;
    };
    while(!checkCondition()) {
      // element wasn't found, so let's try it again
      startMeUp();
      // maybe set a wait here
    }
  }
});

答案 1 :(得分:0)

var url = "http://www.example.com"
F.get(url, function(data){
    console.log("Made an ajax call to make sure that F.open is always second call");
})
// Wait for few seconds before making the actual F.open
F.wait(5000,function(){
   F.open(url);
})

每当F.open失败时(即20次中的一次),我注意到使用F.open的第二个测试点通过了。但是如果第一个不能正常工作,我不能再次执行F.open页面无法加载时无法抑制F.open错误。

所以我总是在制作实际的F.open之前做一个简单的ajax调用。这不是正确的方法,但它适用于我们,因为我们实际上并不关心页面是否是我们测试中的第一次/第二次加载。