【问题标题】:How to test export function with Karma-Jasmine in Angular4如何在 Angular4 中使用 Karma-Jasmine 测试导出功能
【发布时间】:2017-11-14 13:32:59
【问题描述】:

这是我在这里的第一个问题,我希望做得好......

我是一个在 Angular 中使用 Karma-Jasmine 进行单元测试的初学者,我刚刚发现了一个我不知道如何解决它的案例。

我有一个如下所示的 .ts 文件:

example.constants.ts

此文件具有生成随机 ID 的功能。这是我的代码:

export function generateUid(separator: string) {
...
}

我正在尝试对此功能进行测试,因为我需要覆盖它。所以我决定创建一个文件example.constants.spec.ts。看起来是这样的

import { TestBed } from '@angular/core/testing';
import { generateUid } from './example.constants';

describe('ExampleConstants generateUid', () => {

beforeEach(() => {
    TestBed.configureTestingModule({
        providers: []
    });
});

it('should check if Uid is generated',
    () => {
        expect(0).toBe(0);
});

});

问题不在于如果功能运行良好如何覆盖。问题是当我运行 ng test --code-coverage 时没有出现这个测试。我一直在使用组件和服务单元测试,但这是我第一次想对导出功能进行测试。此功能没有关联的组件。它像导出函数一样在 example.constants.ts 中声明。

你能帮我做这个关于导出功能的单元测试吗?

问候。

【问题讨论】:

  • 你有没有做到这一点?我也想测试一个导出的函数。
  • 我没有得到这个问题的答案。
  • 所以如果你运行 ng test 就不会执行测试(独立于代码覆盖率与否)?如果是这种情况,能否请您分享您的 ts-config.spec.ts 和您的文件夹结构,以便可以查看该文件在项目结构中的位置?

标签: angular unit-testing karma-jasmine


【解决方案1】:

您无需为此场景配置测试模块。你可以像正常功能一样测试它

import { TestBed } from '@angular/core/testing';
import { generateUid } from './example.constants';

describe('ExampleConstants generateUid', () => {

it('should check if Uid is generated',
    () => {
     generateUid('-').toBeDefined();
});

});

【讨论】:

    猜你喜欢
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多