Node.js Sails.js和Mocha:使用supertest:当coustom文件夹中的控制器(如api\controllers)移动到api\controllers\admin时,路由问题
当我在测试代码时,如果我将控制器置于默认位置“api\controllers\”。它运行完美,没有错误,但当我将其更改为“api\controllers\admin\”时。它给出了错误 ==>当控制器处于默认位置“api\controllers”时 我的代码是 在config/routes.js中Node.js Sails.js和Mocha:使用supertest:当coustom文件夹中的控制器(如api\controllers)移动到api\controllers\admin时,路由问题,node.js,sails.js,mocha.js,supertest,Node.js,Sails.js,Mocha.js,Supertest,当我在测试代码时,如果我将控制器置于默认位置“api\controllers\”。它运行完美,没有错误,但当我将其更改为“api\controllers\admin\”时。它给出了错误 ==>当控制器处于默认位置“api\controllers”时 我的代码是 在config/routes.js中 'post /state/create': 'StateController.create', 测试代码是 var request = require('supertest'); describe
'post /state/create': 'StateController.create',
测试代码是
var request = require('supertest');
describe('StateController', function() {
describe('#create()', function() {
it('State already in table /create', function (done) {
request(sails.hooks.http.app)
.post('/state/create/') //Path and method
.send({ name: 'gujarat', country_id: '55d452f20424cda40df0f3de' })
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.expect(800)
.end(function(err, res){
if (err) throw err;
console.log(res.body);
if(res){
if(res.body.message == 'State already in table'){
done();
}
}
});
});
});
});
我得到了成功的结果
StateController
#create()
{ flag: false,
data: 'gujarat',
message: 'State already in table',
code: 800 }
√ State already in table /create (171ms)
==>但当我将控制器的位置更改为“api\controllers\admin”时
route.js
'post /admin/state/create': 'admin/StateController.create',
以及在测试代码中
.post('/state/create/')
到
我出错了
1) StateController #create() State already in table /create:
Uncaught TypeError: Cannot read property 'header' of undefined
at Test._assertHeader (D:\Sails Projects\InterJewel\IJ\node_modules\supertest\lib\test.js:208:19)
at Test._assertFunction (D:\Sails Projects\InterJewel\IJ\node_modules\supertest\lib\test.js:247:11)
at Test.assert (D:\Sails Projects\InterJewel\IJ\node_modules\supertest\lib\test.js:148:18)
at Server.assert (D:\Sails Projects\InterJewel\IJ\node_modules\supertest\lib\test.js:127:12)
at net.js:1392:10
参考链接-
1) StateController #create() State already in table /create:
Uncaught TypeError: Cannot read property 'header' of undefined
at Test._assertHeader (D:\Sails Projects\InterJewel\IJ\node_modules\supertest\lib\test.js:208:19)
at Test._assertFunction (D:\Sails Projects\InterJewel\IJ\node_modules\supertest\lib\test.js:247:11)
at Test.assert (D:\Sails Projects\InterJewel\IJ\node_modules\supertest\lib\test.js:148:18)
at Server.assert (D:\Sails Projects\InterJewel\IJ\node_modules\supertest\lib\test.js:127:12)
at net.js:1392:10