我有一个项目正在使用webpack将所有代码捆绑到一个文件中。该项目正在使用Typescript,目前工作正常。
我已经去添加单元测试,茉莉花似乎是前进的方式之一(多种方式之一)。它实际上是包含在package.json中的jasmine-core - 不确定它有多大区别。
所以运行一个非常简单的测试,例如
it('true is true', function(){ expect(true).toEqual(true); });
工作正常。 但是当我添加需要使用导入的测试时 - 例如
import MyService = require('./MyServices');
然后当我运行测试时,它抱怨,因为它不知道'需要'是什么。
Uncaught ReferenceError: require is not defined
现在我猜这是因为我需要以与打包主项目类似的方式打包测试模块。
那么最好的方法是什么? 我应该在webpack.config.js文件中有多个入口点 - 每个* .spec.ts文件一个? 或者有没有办法说接受未知数量的spec文件
条目:[* .spec.ts]并为每个输出一个js文件 - * .spec.js
答案 0 :(得分:3)
您可以使用karma / karma-webpack使用webpack运行所有测试来解析导入。您可以查看this repository进行简单配置。
您还可以将index.spec.ts指定为入口点,如果您不想为网络包中的每个spec.ts
创建一个入口点,请将此文件设为需要所有规范文件&# 39; s配置文件。