假设我有一个模块-moduleX,它公开了一个服务(称为serviceX)。 我有另一个模块 - moduleY,它本身公开了一个名为serviceY的服务,它使用serviceX。
如何通过注入模拟的serviceX来测试moduleY? NgMock似乎不允许你这样做。
答案 0 :(得分:2)
到目前为止,我能找到的最好的就是这样做:
describe "a test" ,->
beforeEach () ->
mockModule = angular.module "mockModule",[]
mockModule.factory "serviceY", [()->
return "your mocked module"
]
angular.mock.module 'moduleX', "mockModule"
然后每当你注入serviceY时,都会使用新服务(显然,具有相同名称的服务会相互覆盖,以便最后添加的服务获胜)