1
我有一个类似于下面的Angular 2服务。它运行正常,但是当运行单元测试时(即使没有任何期望),它会因下面的TypeError失败。我的服务是用TypeScript编写的,并具有正确的导入。但是,有一个用JavaScript编写的节点模块(作为module.export = ....),所以我不能导入它,而是“需要”它。我想知道我怎么可以嘲笑这个或者正确地注入它,所以它在单元测试中不会失败。它在实践中运行良好,只是测试用例失败。如何在Angular 2 spec文件中处理require()
角2 Servive:
let x = require('some-file')
@Injectable()
export class MyService {
constructor() {
x(foo)
}
}
角2测试文件:
describe('Service: MyService',() => {
let service: MyService;
beforeEach(() => {
TestBed.configureTestingModule({
providers: [MyService]
});
});
beforeEach(inject([NativeBridgeService], s => {
service = s;
}));
});
类型错误:x不是一个函数
这是我写的一个自定义js库。我只需要添加一些TypeScript类型定义文件?例如。 d.ts? – user2516663
yeap,如果你是作者,你也可以将d.ts文件放在lib – kit
尽管如此,快速的问题是,d.ts文件是这样的: export * from'my-module' – user2516663