【问题标题】:Cannot Get Karma To Run My Angular2 Tests无法让 Karma 运行我的 Angular2 测试
【发布时间】:2016-04-15 21:32:31
【问题描述】:

我觉得我已经尝试了一切。找到了文件,即使是最简单的测试也不会运行。我显示这个:

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)
    })
  });
});

【问题讨论】:

    标签: javascript angular karma-jasmine


    【解决方案1】:

    此时我建议在从头开始设置 Angular 2.0 项目时使用 Angular CLI。每当您进行代码更改时,它都会为您提供功能性单元测试运行器和网站自动重新加载。

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

    在这里查看: https://github.com/angular/angular-cli

    【讨论】:

      【解决方案2】:

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

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

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

      您可以查看这个问题了解更多详情:

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2018-10-04
          • 1970-01-01
          • 1970-01-01
          • 2012-05-11
          • 1970-01-01
          • 2017-08-23
          • 1970-01-01
          • 2012-11-09
          • 2016-10-13
          相关资源
          最近更新 更多