Angularjs 如何在jasmine单元测试中模拟登录和登录错误
这是我需要进行单元测试的代码Angularjs 如何在jasmine单元测试中模拟登录和登录错误,angularjs,unit-testing,mocking,jasmine,firebase,Angularjs,Unit Testing,Mocking,Jasmine,Firebase,这是我需要进行单元测试的代码 $scope.FBLogin = function () { var ref = new Firebase(firebaseURL); ref.authWithOAuthPopup("facebook", function(error, authData) { if (error) { console.log("Login Failed!", error); } else {
$scope.FBLogin = function () {
var ref = new Firebase(firebaseURL);
ref.authWithOAuthPopup("facebook", function(error, authData) {
if (error) {
console.log("Login Failed!", error);
} else {
$scope.$apply(function() {
$scope.$authData = authData;
$scope.isAdmin = true;
});
console.log("Authenticated successfully with payload:", authData);
}
});
};
如何模拟jasmine中的登录行为?提前谢谢 我从未使用过Firebase,所以我不知道它是否提供了该功能,但如果没有,则将对
new Firebase()
的调用提取到一个服务中,您可以将其注入,并返回一个承诺。因此,监视该服务并使其返回一个虚假的承诺是微不足道的。对不起,你能告诉我一些简单的代码怎么做吗?你看过了吗?他们使用jasmine.createSpy(),它有一个和.returnValue(returnValueHere)
可以用来模拟结果。我从未使用过Firebase,所以我不知道它是否提供了这个功能,但如果没有,则将对新Firebase()
的调用提取到一个服务中,您可以将其注入,并返回一个承诺。因此,监视该服务并使其返回一个虚假的承诺是微不足道的。对不起,你能告诉我一些简单的代码怎么做吗?你看过了吗?他们使用jasmine.createSpy(),它有一个和.returnValue(returnValueHere)
可以用来模拟结果。