Return 来自 test.describe 的 Mocha 测试框架的值

Return value from a test.describe of Mocha test framework

我不确定如何提出问题才有意义。比方说,我有摩卡测试,我想在测试后 return 一个对象。例如:

var test = require('selenium-webdriver/testing');
test.describe('Test', function() {
    test.describe('#login()', function() {
        test.before(function(done){
            //driver = create driver object here
            done();
        });
        test.after(function(done){
            driver.quit();
            done();
        });
        test.it('', function(done){
            //code
            done()
        });
    });
});

我想return驱动对象,但是好像不行。我试过return 'Test text',但也没有任何反应。是否可以 return 测试总结摩卡中的值?

Mocha 不提供任何方法来 return 从传递给 describe 的回调中获取可用值。如果您的目标是让您的 driver 实例可用于最上面的 describe,那么请执行以下操作:

var test = require('selenium-webdriver/testing');
test.describe('Test', function() {
    // This is available to everything inside the callback.
    var driver;
    test.before(function(){
        driver = // whatever...
    });
    test.after(function(){
        driver.quit();
    });

    test.describe('#login()', function() {
        test.it('', function(){

        });
    });
});

请注意,我删除了 done 回调,因为 selenium-webdriver/testing 实际上为您提供了基本 Mocha 函数的包装器。这些包装器考虑了由 Selenium 创建的 ControlFlow。有关测试示例,请参阅 the documentation