2 つのステートフル サービスとshopに依存するサービスがあるとします。単体テスト用にとの異なるバージョンを挿入するにはどうすればよいですか?schedulewarehouseschedulewarehoseshop
これが私のサービスです:
angular.module('myModule').service('shop', function(schedule, warehouse) {
return {
canSellSweets : function(numRequiredSweets){
return schedule.isShopOpen()
&& (warehouse.numAvailableSweets() > numRequiredSweets);
}
}
});
ここに私のモックがあります:
var mockSchedule = {
isShopOpen : function() {return true}
}
var mockWarehouse = {
numAvailableSweets: function(){return 10};
}
ここに私のテストがあります:
expect(shop.canSellSweets(5)).toBe(true);
expect(shop.canSellSweets(20)).toBe(false);