简体   繁体   English

由于JS库的依赖性,Typescript + Angular2测试失败

[英]Typescript + Angular2 test fails because of a JS library dependency

I use jsfeat javascript library in my Angular2 project. 我在Angular2项目中使用jsfeat javascript库。

I put this at the beginning of my .ts and .spec.ts files: 我将其放在.ts和.spec.ts文件的开头:

declare var jsfeat: any;

I included jsfeat.js in my index.html. 我在我的index.html中包含了jsfeat.js。

Now I want to run Angular2 tests, but I get: 现在我想运行Angular2测试,但是得到:

ReferenceError: jsfeat is not defined

The test code is: 测试代码为:

describe('MyObj instance', function () {
  it('should instantiate MyObj', () => {
    expect(new MyObj()).toBeDefined('Whoopie!');
  });
});

1) INSTALL JSFEAT WITH NPM (optional): 1)使用NPM安装JSFEAT(可选):

npm install -g jsfeat

2) EDIT karma.conf.js: 2)编辑karma.conf.js:

  config.set({

[...] [...]

files: [
  // System.js for module loading
  'node_modules/systemjs/dist/system.src.js',

  // Polyfills
  'node_modules/core-js/client/shim.js',

  // Reflect and Zone.js
  'node_modules/reflect-metadata/Reflect.js',
  'node_modules/zone.js/dist/zone.js',
  'node_modules/zone.js/dist/jasmine-patch.js',
  'node_modules/zone.js/dist/async-test.js',
  'node_modules/zone.js/dist/fake-async-test.js',

[...] [...]

Add jsfeat: 添加jsfeat:

  'node_modules/jsfeat/build/jsfeat.js',

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM