我正在尝试使用 express 构建一个非常简单的 API,并希望使用 Mocha 进行测试。我还想使用 jquery-mockjax 来模拟第三方 API 调用,但不知道如何去做。我曾经npm install
在全球范围内安装 Mocha,并在应用程序中安装 jquery 和 jquery-mockjax。
如何要求 mockjax 和 xmldom 库(模拟第三方 API 返回的 xml 响应)?代码方面,这是我想象的样子但不起作用:
var request = require('supertest');
var should = require('should');
var $ = require('jquery');
var constants = require('../lib/constants');
require('jquery-mockjax');
// require('/opt/orbit/orbit-api/node_modules/jquery-mockjax/lib/jquery.xmldom.js');
var server = request.agent("https://localhost:8080/api");
describe("As a user, I", function() {
beforeEach(function() {
this.timeout(0); //disables mocha 2 second timeout limit
});
it("should be able to sign in", function(done) {
$.mockjax({
url: apiUrl + 'auth/signin',
type: 'post',
responseXML: '<tsResponse><credentials token="1234" ><site id="1" contentUrl="url" /><user id="1" /></credentials></tsResponse>'
});
server
.post("/auth/signin")
.send({
username: username,
password: password
})
.expect("Content-type", /json/)
.end(function(err, res) {
res.body.http_code.should.equal(200);
done();
});
});