【发布时间】:2016-07-06 17:37:17
【问题描述】:
我正在尝试使用 Mocha 测试 40 多个 API 端点。作为单个服务器调用的一部分,我想执行一些子测试。
比如我想测试it('returns valid JSON...和it('returns a valid status code...等
configs.forEach(function(config) {
describe(config.endpoint, () => {
it('...', function(done) {
server
.post(config.endpoint)
.send({})
.expect('Content-type', /json/)
.expect(200)
.end(function(err, res) {
//it('has a proper status code', () => {
expect(res.status).toEqual(200);
//})
//it('does not have an error object', () => {
expect(res.body.hasOwnProperty('error')).toEqual(false);
//})
done();
})
})
})
})
问题是我不能嵌套it 语句,但我依靠回调,通过done() 来指示何时收到响应,所以我必须将调用包装在it 语句中。 ..
因为其中一些请求需要半秒才能解决,并且其中有 40 多个,我不想为这些请求创建单独的测试。创建单独的测试也会复制 config.endpoint,我想看看每个端点的测试是否都在一个地方通过。
如何为单个服务器调用创建多个测试?
【问题讨论】:
-
模拟回调,它认为它会变得容易吗?
-
模拟来自
it(...的回调?不知道你的意思。
标签: javascript testing mocha.js