我想开始为Strapi端点或API编写单元测试。由于它与Express不同,而且在我看来没有app.route的概念。我不知道该如何开始。
我曾经用Mocha,Sinon和Chai为API写过单元测试套装。但我的问题是他们如何与Strapi APIs一起工作。
如果有谁知道Strapi API的单元测试知识,对我来说将是一个很好的开始。
用测试中的代码更新问题
controllerscheckStatus.js
module.exports = {
checkStatus: async (ctx) => {
return strapi.services.checkstatus.getStatus(ctx.request.body.id);
}
};
我想开始为Strapi端点或API编写单元测试。
module.exports = {
getStatus: (id) => {
return id;
}
};
作为 柴-http 文档中说就像这样简单。
你也可以使用一个基本网址作为请求的基础。
在上面的链接页面中查找URL部分。
测试Strapi开发版API所需的基本测试代码可以如下所示。
// Somewhere in your straiproject/tests/YourStrapiAPITest.spec.js
'use strict';
import 'chai-http';
import * as chai from 'chai';
const chaiHttp = require('chai-http');
const assert = chai.assert;
chai.use(chaiHttp);
describe('YourStrapiAPITest', function(done) {
it('Should return 200 with expected JSON', function() {
// Ensure your porject is up and running
// with `npm run develop` or `npm run start`
chai.request('http://localhost:1337/yourcustomcontenttype')
.get('/')
.send()
.end(function(err, res) {
assert.equal(res.status, 200);
// More assertions to test the actual
// response data vs the expected one.
done();
});;
});
});
这更多的是一个集成而不是单元测试 但它已经覆盖了你的Strapi测试需求。
如果你想要一个用于MochaChai-http测试的asyncawait版本,请参考以下内容 本回答.