Jasmine + Webpack:供应商 jasmine 全局函数

Jasmine + Webpack: vendor jasmine global functions

我正在使用 Karma+Jasmine 来测试我的基于 webpack 的 angular2 应用程序。

为了在开发中构建项目,我对 angular 依赖项使用 vendor.ts 以保持主文件尽可能小,并减少 webpack 重新编译时间。

// Angular
import '@angular/platform-browser';
import '@angular/platform-browser-dynamic';
import '@angular/core';
import '@angular/common';
import '@angular/http';
import '@angular/router';
import '@angular/forms';

// RxJS
import 'rxjs';

import 'zone.js';
import 'reflect-metadata';

我创建了 test.ts,我在其中导入了所有测试。 karma start.

之前我每次都重新编译

问题是 final test.js 不仅包含测试代码,还包含整个 jasmine 库。我也想卖它,但找不到合适的供应商导入。

貌似Jasmine默认是全局库,我在dt中没找到@types/jasmine-core

有人可以帮我吗?

好吧,看来我错误地认为 Jasmine 是我需要供应商的东西。 describeit 之类的函数无论如何都会在测试 运行 中可用,无论它们是否会出现在编译文件中。

在我的案例中,我唯一需要供应商的是 expect,我通过添加

实现了这一点
import * as expect from "expect";
expect('true').toBe('true'); //doesn't work without it, for some reason

在供应商文件中。