1

假设我有一个模块 -moduleX,它公开了一个服务(称为 serviceX)。我有另一个模块 - moduleY,它本身公开了一个使用 serviceX 的名为 serviceY 的服务。

如何通过注入模拟的 serviceX 来测试 moduleY ?NgMock 似乎不允许你这样做。

4

1 回答 1

2

到目前为止,我能找到的最好的方法是这样做:

describe "a test" ,->
  beforeEach () ->
    mockModule = angular.module "mockModule",[]
    mockModule.factory "serviceY", [()->
        return "your mocked module" 
    ]
    angular.mock.module 'moduleX', "mockModule"

然后每当您注入 serviceY 时,都会使用新服务(显然,具有相同名称的服务会相互覆盖,以便最后添加的服务获胜)

于 2013-06-23T13:36:40.660 回答