QUnit异步测试与设置和拆解

psc*_*eit 3 installation asynchronous qunit teardown

我需要一点帮助来理解QUnit internas.我不时阅读它的来源,但在异步测试方面,我仍在编写奇怪的测试.我理解异步测试的概念,以及stop()和start()方法(以及为什么需要它们),但是当我将它们与setup和teardown结合起来时,我会遇到很多情况.

这是我的测试代码:

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();
  });
});
Run Code Online (Sandbox Code Playgroud)

虽然这些都是异步测试,我想我会在控制台中得到这样的东西:

setup
test1
teardown
setup
test2
teardown
setup
test3
teardown
...
Run Code Online (Sandbox Code Playgroud)

因为我认为qunit会在测试车身周围调用设置和拆卸?

但是我把所有事情搞混了,从请求到另一种方式请求改组.

setup
test1
teardown
setup
setup
setup
setup
test5
teardown 
test4
teardown
test3
teardown
test2
teardown
Run Code Online (Sandbox Code Playgroud)

有人能够一步一步地解释它吗?

psc*_*eit 6

这是一个记录在案的问题:

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

当异步加载测试时,建议将QUnit.config.autostart设置为false.这是我的情况,因为"使用"是异步进行的.

头部看起来像这样:

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

  QUnit.start();
  module("async", {
Run Code Online (Sandbox Code Playgroud)

所以它基本上就像做stop()和start()但是加载测试本身.我测试了它,拆卸/设置/测试现在按正确的顺序正确执行