【发布时间】:2015-05-16 17:21:42
【问题描述】:
我有这个功能,需要用mocha、chai和sinon测试一下。
这是my code:
service-wiki-pelis.js
'use strict'
var WikiService = function($http,$q){
return {
getMovies: getMovies
}
function getMovies() {
var deferred = $q.defer();
$http.jsonp('/url/movies')
.success(function(data,status,headers,config) {
deferred.resolve({
results: data.results
});
}).error(function(msg,code) {
msg = msg || 'Request failed: ';
deferred.reject(msg);
});
return deferred.promise;
}
}
module.exports = WikiService;
service-wiki-pelis_test.js
var chai = require('chai'),
should = chai.should(),
sinon = require('sinon');
describe('Wiki Pelis service',function(){
'use strict';
var service, WikiPelisService = require('./service-wiki-pelis');
var $http = {jsonp:function(url){
return {
success: function () {
},
error: function () {
}
}
}},
$q = {};
beforeEach(function(done){
service = new WikiPelisService($http,$q);
done();
});
it('Should have a function named "JSONP"',function(){
service.jsonp.should.be.instanceof(function);
});
});
目前为止我做了这个小测试,但是真的不行,但是有了它你就可以看到我的测试环境了。
这两个文件是 Angular 应用程序的一部分,但应该可以单独测试这些文件,无需 Angular 模拟或类似的东西。
【问题讨论】:
-
请在您的帖子中包含所有相关代码,并且不要仅包含指向代码托管站点的链接。您的帖子应该独立于任何其他资源;考虑一下如果该网站将来出现故障会发生什么!
-
@dcodesmith 我已经添加了我的测试样本,希望你能帮助我。
标签: angularjs unit-testing browserify sinon chai