我有一个类似于下面的Angular 2服务。它运行正常,但是在运行单元测试时(即使没有任何预期),它会因以下TypeError而失败。我的服务是用TypeScript编写的,并且具有正确的导入。但是,有一个用JavaScript编写的节点模块(作为module.export = ....),因此我无法导入它,而是需要'它。我想知道如何模仿这个或正确注入它,所以它不会在单元测试中失败。它在实践中运行良好,只是测试用例失败。
Angular 2 Servive:
let x = require('some-file')
@Injectable()
export class MyService {
constructor() {
x(foo)
}
}
Angular 2测试文件:
describe('Service: MyService', () => {
let service: MyService;
beforeEach(() => {
TestBed.configureTestingModule({
providers: [MyService]
});
});
beforeEach(inject([NativeBridgeService], s => {
service = s;
}));
});
TypeError:x不是函数
答案 0 :(得分:0)
你必须为该lib安装打字。然后你可以使用导入不需要的lib。尝试
npm install @types/<here goes your lib name>
如果他们不存在,请自己写下来。