模拟服务模块用于Angular单元测试的变量依赖项

时间:2017-09-07 13:44:18

标签: angular unit-testing variables service mocking

我有一个角度服务,我正在编写单元测试,我正在测试的方法之一使用来自外部依赖项的模块变量,我正在模拟并在运行测试之前注入BeforeEach。这些变量只是标准数组或JSON,在原始函数中,它们是基于服务依赖性方法的输出访问的。

我使用jasmine createSpy和callFake模拟了这些方法,我尝试以相同的方式模拟这些变量的值,但是它们以未定义的形式返回,结果测试失败。

模拟这些变量值的最佳方法是什么?

变量的定义如下:

var module = {
   variableOne= [ a, b , c];
   variableTwo = {1, 2, 3};
};

然后我测试的服务方法通过例如:

调用它们
DependentService.variableOne[outputOfMockedDependencyMethod];

1 个答案:

答案 0 :(得分:2)

在测试中,当您注入服务时,您可以更改它:

it(
  'your desc',
  inject([YourService], (service: YourService) => {
    service.mockedValue = {/* all you want */};
  }));