私は私の角度コントローラで、以下の機能を持っているとの約束が期待された結果関数の内部で呼ばれるカルマのユニットテストでの約束を模擬する方法
function getName() {
var name = "";
nameService.getName().then(function (data) {
name = data.name;
});
return name;
}
を返した場合、私は約束を模擬することができますどのように、テストしたいです偽のデータで電話しますか?私は$ httpBackendを使うことができるか$をここで提供できるのかどうか分からないのですか?私はこれを試してみましたが、それはうまくいきませんでした:
spyOn(mockNameService, 'getNameInfo').and.returns($q.when('dummyData'));
をあなたのデータを模擬する:
it("function getName should get the name from the nameService.getNameInfo function", function() {
var name = { name: "name1"};
spyOn(mockNameService, 'getNameInfo').and.callFake(function() {
return {
then: function(callback) {return callback(name);}
};
});
var result = myCtrl.getName();
expect(result).toEqual("name1");
});
あなたはサイロンスタブ/スパイを使っていますか? –
@KoushikChatterjee:単体テストでコードを更新しました(まだ動作していません) – YourReflection