这困扰了我一段时间。我在同一个文件中有两个函数。
//fun.ts
export function fun1(){
let msg = fun2();
return msg;
}
export function fun2(): string{
return "Some message";
}
Run Code Online (Sandbox Code Playgroud)
我有一个打字稿规范,它存根 fun2 并调用 fun1。
//fun.spec.ts
import * as Fun from 'fun';
describe('Stubing', () => {
it('should stub the return value', () => {
spyOn(Fun, 'fun2').and.returnValue("A different message");
expect(Fun.fun1()).toEqual("A different message")
});
});
Run Code Online (Sandbox Code Playgroud)
但是当我运行规范时,我得到的输出是
Failures:
1) Stubing should stub the return value
1.1) Expected 'Some message' to equal 'A different message'.
Run Code Online (Sandbox Code Playgroud)
我用打字稿编写了测试,然后我有一个 gulp 脚本,它成功地转换并运行了 jasmine 规范。一切正常,我唯一想不通的是为什么间谍不工作。一个解释将不胜感激。