一直在尝试简单的异步测试。安装好 Jasmine Node npm install -g jasmine-node然后编写一个简单的模块并进行测试。

简单的模块。

// weather.js
exports.get = function(city, callback) {
    callback(city);
};

和一个测试套件。
// weather-spec.js
var list = require("../modules/weather");

describe("Weather Forecast", function(data) {
    it('should get weather for London,UK', function() {
        list.get('London,UK', function(data) {
            expect(data).toEqual('London,UK');
            done();
        });
    });
});

我得到了错误:
Stacktrace:
    ReferenceError: done is not defined

给出简单的例子,我看不到我要去哪里。有人可以帮忙吗?

最佳答案

done是传递给it的第一个参数:

it('should get weather for London,UK', function(done) {
    list.get('London,UK', function(data) {
        expect(data).toEqual('London,UK');
        done();
    });
});

关于javascript - Jasmine Node 完成未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29348925/

10-09 17:50