应该发生的是,当add1完成后,应该调用add2,然后调用add3,但是使用此代码它不起作用。
Add2被调用为fast,add3也是如此。
asyncTest('add1', function () {
setTimeout(function () {
test('add1 t1', function () {
ok(1==1, 'ok');
});
QUnit.start();
}, 500);
});
asyncTest('add2', function () {
setTimeout(function () {
test('add2 t1', function () {
ok(2==2, 'ok');
});
QUnit.start();
}, 500);
});
asyncTest('add3', function () {
setTimeout(function () {
test('add3 t1', function () {
ok(3==3, 'ok');
});
QUnit.start();
}, 500);
});
答案 0 :(得分:1)
这里有几点要提。首先,我假设您实际上正在使用ok()
断言...没有test()
断言。也就是说,当我运行上面的代码时,但是使用ok()
断言,测试会按顺序运行。 但是,一般来说,您不应该编写彼此依赖的测试。这可能导致各种问题,包括竞争条件,环境污染等。您应该尝试编写idempotent的测试。
QUnit按照定义的顺序运行测试,但有一个例外:对于测试失败的测试文件的重新运行,库将首先重新运行失败的测试。您可以使用reorder
config option停用此功能。
基本上,这里的答案是你拥有的代码(ok() versus
test()`除外)对我来说效果很好:测试按顺序运行。
答案 1 :(得分:0)
当前版本的QUnit有spsample(be, type="hexagonal", cellsize=1)
# SpatialPoints:
# x y
# 2 4.205421 50.40138
# 3 5.205421 50.40138
# 4 6.205421 50.40138
# 5 3.705421 51.26741
# 6 4.705421 51.26741
# Coordinate Reference System (CRS) arguments:
# +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84
# +towgs84=0,0,0
。
traceback()
或许链接结果回调将有助于创建同步行为。