我有一个角度服务,我正在编写单元测试,我正在测试的方法之一使用来自外部依赖项的模块变量,我正在模拟并在运行测试之前注入BeforeEach。这些变量只是标准数组或JSON,在原始函数中,它们是基于服务依赖性方法的输出访问的。
我使用jasmine createSpy和callFake模拟了这些方法,我尝试以相同的方式模拟这些变量的值,但是它们以未定义的形式返回,结果测试失败。
模拟这些变量值的最佳方法是什么?
变量的定义如下:
var module = {
variableOne= [ a, b , c];
variableTwo = {1, 2, 3};
};
然后我测试的服务方法通过例如:
调用它们DependentService.variableOne[outputOfMockedDependencyMethod];
答案 0 :(得分:2)
在测试中,当您注入服务时,您可以更改它:
it(
'your desc',
inject([YourService], (service: YourService) => {
service.mockedValue = {/* all you want */};
}));