在all app上运行angular2测试时,全局函数测试失败,因为全局函数未定义

时间:2017-03-09 15:23:33

标签: angular karma-jasmine angular-cli

首先,让我说测试正在通过我只在子文件夹中执行它们,使用 test.ts

.then(() => require.context('./app/folder/where/tests/fail/later', true, /\.spec\.ts/))

我正在使用angular-cli通过' ng test( - code-coverage,有时候......)启动测试

@angular/cli: 1.0.0-rc.1
node: 6.9.4
os: darwin x64
@angular/common: 2.4.9
@angular/compiler: 2.4.9
@angular/core: 2.4.9
@angular/forms: 2.4.9
@angular/http: 2.4.9
@angular/platform-browser: 2.4.9
@angular/platform-browser-dynamic: 2.4.9
@angular/router: 3.4.9
@angular/cli: 1.0.0-rc.1
@angular/compiler-cli: 2.4.9

事情是: 当我一起运行所有测试时,对以下文件的测试失败。

error.helper.ts

export function formatErrorStatusCode(code: number): any{
  if ([0, 401, 403, 404, 408, 409, 502, 503].indexOf(code) != -1) {
    return code;
  } else {
    switch (code.toString()[0]) {
      case  ('3') :
        return '3XX';
      case  ('4') :
        return '4XX';
      case  ('5') :
        return '5XX';
      default :
        return 'BAD';
    }
  }
}

error.helper.spec.ts< = just un extract,其他测试类似,如失败的消息。

import {formatErrorStatusCode} from "../../shared/helpers/error.helper";

describe('CategoryComponent', () => {
  it('should return the code BAD if it is a unknown error', () => {
    expect(formatErrorStatusCode(800)).toBe('BAD');
  });
});

我在控制台中有以下结果:

Firefox 52.0.0 (Mac OS X 10.11.0) ErrorHelper should return the code BAD if it is a unknown error FAILED
    Expected undefined to be 'BAD'.
    @webpack:///src/app/shared/helpers/error.helper.spec.ts:33:4 <- src/test.ts:40231:9 [ProxyZone]
    ProxyZoneSpec.prototype.onInvoke@webpack:///~/zone.js/dist/proxy.js:79:0 <- src/test.ts:114510:20 [ProxyZone]
    Zone.prototype.run@webpack:///~/zone.js/dist/zone.js:113:0 <- src/test.ts:112174:24 [<root> => ProxyZone]
    wrapTestInZone/<@webpack:///~/zone.js/dist/jasmine-patch.js:102:0 <- src/test.ts:114225:20 [<root>]
    ZoneQueueRunner.prototype.execute@webpack:///~/zone.js/dist/jasmine-patch.js:132:0 <- src/test.ts:114255:17 [<root>]
    Zone.prototype.runTask@webpack:///~/zone.js/dist/zone.js:151:0 <- src/test.ts:112212:28 [<root> => <root>]
    drainMicroTaskQueue@webpack:///~/zone.js/dist/zone.js:418:0 <- src/test.ts:112479:25 [<root>]

从不调用函数formatErrorStatusCode(X)。

我不知道它来自哪里:angular2?角CLI?茉莉?因果报应?所有的混合?是因为我有太多的测试运行(287)?或其他什么......

如果有些人有滑雪道,我会很感激。

THX

0 个答案:

没有答案