我正在尝试使用karma测试angulaJS的模块。我已经更新了我的项目所需的所有依赖和devdependies但我有一个错误" Chrome社交应该有一个getTwitterCount方法失败" ReferenceError:未定义expect 这是我的文件测试Socialspec.js:
describe('Social', function(){
var Social;
var $http;
var url = "http://grafikart.fr";
beforeEach(function(){
angular.mock.module('App')
angular.mock.inject(function(_Social_, $httpBackend){
Social = _Social_
$http = $httpBackend
})
})
afterEach(function(){
$http.verifyNoOutstandingExpectation();
$http.verifyNoOutstandingRequest();
})
it("Should have a getTwitterCount method", function(){
expect(Social.getTwitterCount).to.be.a('function')
})
it("Should call JSONP", function(){
$http.expectJSONP(Social.twitterAPI + url).respond(false)
Social.getTwitterCount(url)
$http.flush()
})
it("Should return count", function(){
count = 0;
$http.expectJSONP(Social.twitterAPI + url).respond({count: 2})
Social.getTwitterCount(url).then(function(c){
count = c
})
$http.flush()
expect(count).to.be.equal(2)
})
})
这就是我定义我的angularjs模块和工厂的地方:
var app=angular.module("App",[]);
app.factory('Social',function($http,$q){
return {
twitterAPI: 'http://urls.api.twitter.com/1/urls/count.json?callback=angular.callbacks._0&url=',
getTwitterCount: function(url){
q = $q.defer()
$http.jsonp(this.twitterAPI + url)
.then(function(result){
q.resolve(result.data.count)
})
return q.promise
}
}
})
你能帮助我吗?谢谢你