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