bra*_*ipt 5 javascript mocha.js node.js should.js chai
我正在使用与以下内容非常类似的东西来使用Mocha执行一系列API测试.这很棒,但它需要为每个测试单独调用API.我想使用相同的API调用并针对该响应运行多个测试.我一直在阅读你可以用before它来做,但网络上没有一个例子实际上显示它使用API调用?
var chai = require('chai');
var request = require('request');
var async = require('async');
var assert = chai.assert,
expect = chai.expect,
should = chai.should();
describe('/', function () {
it('should return 200', function (done) {
request.get('http://localhost:8000', function (err, res, body) {
res.should.have.status(200);
done();
});
});
it('should say "Hello, world!"', function (done) {
request.get('http://localhost:8000', function (err, res, body) {
body.should.have.property('type', 'aType');
done();
});
});
});
Run Code Online (Sandbox Code Playgroud)
你可以用这样的before函数做到这一点......
var chai = require('chai');
var request = require('request');
var async = require('async');
var assert = chai.assert,
expect = chai.expect,
should = chai.should();
describe('/', function () {
var firstRequest;
before(function(done) {
request.get('http://localhost:8000', function(err, res, body) {
firstRequest = {
err:err,
res:res,
body:body
};
done();
});
});
it('should return 200', function (done) {
firstRequest.res.should.have.status(200);
done();
});
it('should say "Hello, world!"', function (done) {
firstRequest.body.should.have.property('type','aType');
done();
});
});
Run Code Online (Sandbox Code Playgroud)
但是,除非你有充分的理由这样做,否则我认为你最好只结合测试.
var chai = require('chai');
var request = require('request');
var async = require('async');
var assert = chai.assert,
expect = chai.expect,
should = chai.should();
describe('/', function () {
it('should return 200 and say "Hello, world!"', function (done) {
request.get('http://localhost:8000', function (err, res, body) {
res.should.have.status(200);
body.should.have.property('type', 'aType');
done();
});
});
});
Run Code Online (Sandbox Code Playgroud)
如果测试失败,即使有两个断言,Mocha也会报告失败的具体原因.
| 归档时间: |
|
| 查看次数: |
3452 次 |
| 最近记录: |