我正在尝试对我的一些代码进行单元测试,但我的代码引用了这个我不能直接访问的库。我的代码在运行时可以访问它,但在编译时不能访问。在本例中,库代码称为setup
。我没有使用webpack或任何东西,只是TS节点。
产品代码:
declare let setup: any;
setup.rest = (): void => { // this signature can't change
}
测试代码:
import "jasmine";
describe("App", () => {
beforeEach(() => {
setup = {};
})
it("should have a rest function", () => {
setup.rest();
});
});
我正在使用Jasmine作为测试跑步者。当我运行测试时,我会得到以下错误:
ReferenceError:安装程序未定义
我如何让我的测试初始化这个setup
变量并与我的生产代码共享它?
如果我知道您想要初始化函数super
你可以给她加一个间谍。
const setupSpy = TestBed.get(setup);
setupSpy.rest.and.returnValue(add here object/variable to return)