无法让因果报应运行我的Angular2测试

Cannot Get Karma To Run My Angular2 Tests

本文关键字:我的 Angular2 测试 运行 因果报应      更新时间:2023-09-26

我觉得我什么都试过了。文件被找到了,即使是最简单的测试也不会运行。我展示这个:

Chrome 49.0.2623 (Windows 7 0.0.0): Executed 0 of 0 SUCCESS (0 secs / 0 secs) Chrome 49.0.2623 (Windows 7 0.0.0): Executed 0 of 0 ERROR (0.003 secs / 0 secs)

我觉得我什么都试过了。我尝试过不同的框架,Mocha/Chai-Jasmine,什么都没有。当我点击调试选项卡时,它没有显示任何chrome内容。

项目负责人:http://pastebin.com/1wQubhCt

karma.shim.js:http://pastebin.com/PtPnL82G

karma.conf.js:http://pastebin.com/CU0aqnj6

示例测试(显然预计会失败):

import {
  it,
  expect,
  describe,
  beforeEachProviders
} from 'angular2/testing';
describe('myComponent', () => {
  beforeEachProviders([]);
  describe('creation', () => {
    it('should do this', ()=> {
      expect(1).toEqual(2)
    })
  });
});

在这一点上,我建议在从头开始设置Angular 2.0项目时使用Angular CLI。它为您提供了一个功能单元测试运行程序,并在您更改代码时自动重新加载网站。

它消除了设置项目所需的所有繁琐的配置步骤。

点击此处查看:https://github.com/angular/angular-cli

由于karma.shim.js文件的原因,在Karma中运行测试可能会有点痛苦。大多数时候问题都在这个文件中。

我认为这个文件中有一个问题,尤其是onlySpecFiles函数中。这应该是/_test'.js$/而不是/_test'.ts$/:

function onlySpecFiles(path) {
  return /_test'.ts$/.test(path);
}

您可以看到这个问题了解更多详细信息:

  • 因果报应无法加载导入的文件

对我来说,这个问题是通过更新Angular CLI:解决的

npm install --save-dev @angular/cli@latest