摩卡传递变量到下一个测试

波尼
describe('some test', function(){
    // Could put here a shared variable
    it('should pass a value', function(done){
        done(null, 1);
    });
    it('and then double it', function(value, done){
        console.log(value * 2);
        done();
    });
});

以上目前无法在摩卡中使用。

解决方案是在测试之间共享一个变量,如上所示。

随着async.waterfall()这是非常有可能的,我真的很喜欢它。有什么方法可以使它在摩卡咖啡中实现吗?

谢谢!

路易

最好保持测试隔离,以使一个测试不依赖于另一个测试。让我们将应该通过值测试A的测试称为应该将其通过测试B的测试。要考虑的一些问题:

  1. 测试A和测试B真的是两个不同的测试吗?如果没有,则可以将它们合并。

  2. 测试A是否旨在为测试B提供测试夹具?如果是这样,则测试A应该成为abeforebeforeEachcall的回调您基本上可以通过将数据分配给闭包中的变量来传递数据describe

    describe('some test', function(){
        var fixture;
    
        before(function(done){
            fixture = ...;
            done();
        });
    
        it('do something', function(done){
            fixture.blah(...);
            done();
        });
    });
    

我读过摩卡的代码,并提供我不是忘了什么东西,也没有办法打电话describeit或者done回调到各地传递值。所以上面的方法就是这样。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章