一直在使用Sails.js,并且无法为控制器提供Jasmine单元测试.如果这是显而易见的事情,请原谅我的无知,因为我在过去3-4个月里只深入研究JavaScript开发.
在过去的框架(特别是ASP .Net MVC)中,我们有了库来模拟控制器可能具有的任何依赖关系,比如外部服务(通过依赖注入).我有点想用Sails.js达到相同级别的单元可测试性,这样我们就可以实现正确的"单元"测试.具体来说,对于我的情况,我有一个控制器动作,依赖于服务对象 - 我只是想模拟该服务的响应.
但是,我有一段时间让这个Jasmine单元测试运行(使用jasmine-node插件).我的代码在下面是控制器及其单元测试.我现在得到的是:
在我的单元测试中我是否明显错过了什么?代码如下.感谢您的任何意见!
UserController.js
var Battlefield4Service = require('../services/battlefield4Service');
module.exports = {
/**
* /user/bf4stats
*/
bf4Stats: function (req, res) {
var userName = req.param('userName');
var platform = req.param('platform');
var service = new Battlefield4Service();
service.getPlayerInfo(userName, platform,
function (data) {
// Success callback
res.json(data);
});
}
};
Run Code Online (Sandbox Code Playgroud)
UserController.spec.js
var Sails = require('sails');
var userController = require('./UserController');
var FPSStatsDTO = require('../dto/fpsStatsDTO');
describe('UserController', function() {
// create a variable to hold the instantiated sails server …Run Code Online (Sandbox Code Playgroud)