如何用Angular4中的Karma-Jasmine测试导出函数

问题描述 投票:4回答:1

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

我是一名初学者,在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);
});

});

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

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

问候。

angular unit-testing karma-jasmine
1个回答
1
投票

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

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

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

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

});
© www.soinside.com 2019 - 2024. All rights reserved.