这是我的第一个问题,我希望做得好......
我是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中声明为导出函数。
你能帮我做一个关于导出功能的单元测试吗?
问候。
答案 0 :(得分:1)
您无需为此场景配置测试模块。您可以像正常功能一样对其进行测试
import { TestBed } from '@angular/core/testing';
import { generateUid } from './example.constants';
describe('ExampleConstants generateUid', () => {
it('should check if Uid is generated',
() => {
generateUid('-').toBeDefined();
});
});