使用Webpack,Jasmine(-core),打字稿进行单元测试

时间:2016-09-14 09:53:46

标签: unit-testing typescript jasmine webpack

我有一个项目正在使用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

1 个答案:

答案 0 :(得分:3)

您可以使用karma / karma-webpack使用webpack运行所有测试来解析导入。您可以查看this repository进行简单配置。

您还可以将index.spec.ts指定为入口点,如果您不想为网络包中的每个spec.ts创建一个入口点,请将此文件设为需要所有规范文件&# 39; s配置文件。