QUnit异步测试与安装和拆卸(QUnit Async Tests with setup And t

2019-06-25 12:20发布

我需要一点点帮助理解QUnit internas。 我读了时间的源时间,但我还是写怪异的测试,当涉及到异步测试。 我理解的异步测试)的概念,并停止(和start()方法(和为什么需要它们),但是当我用的安装和拆卸将它们组合起来我得到了很多的weired情况。

这里是我的Testcode:

use(['Psc.Exception','Psc.Code'], function () {
  module("async", {
    setup: function () {
      console.log('setup');
    }, teardown: function () {
      console.log('teardown');
    }
  });

  asyncTest("test1", function () {
    expect(0);

    console.log('test1');
    start();
  });

  asyncTest("test2", function () {
    expect(0);

     console.log('test2');
     start();
  });

  asyncTest("test3", function () {
    expect(0);

    console.log('test3');
    start();
  });

  asyncTest("test4", function () {
    expect(0);

    console.log('test4');
    start();
  });

  asyncTest("test5", function () {
    expect(0);

    console.log('test5');
    start();
  });
});

Allthough这些都是asynchron测试,我想我会得到这样的事情在控制台:

setup
test1
teardown
setup
test2
teardown
setup
test3
teardown
...

因为我认为qunit会叫的建立和拆除周围的测试人体的?

但我得到的一切混在一起,从请求到洗牌另一种方式提出要求。

setup
test1
teardown
setup
setup
setup
setup
test5
teardown 
test4
teardown
test3
teardown
test2
teardown

是有人能够解释它一步一步?

Answer 1:

这是一个记录的问题:

http://api.qunitjs.com/QUnit.config/

其建议QUnit.config.autostart设置为false,异步加载测试时。 这是我的情况,因为“使用”是异步这样做。

头看起来是这样的:

QUnit.config.autostart = false;
use(['Psc.Exception','Psc.Code'], function () {

  QUnit.start();
  module("async", {

因此,它基本上是这样做的stop()和start(),但加载测试本身。 我测试了它和拆卸/安装/测试现在就按照正确的顺序正确执行



文章来源: QUnit Async Tests with setup And teardown