gpt4 book ai didi

angular - Angular CLI 生成的 "spec.ts"文件有什么用?

转载 作者:太空狗 更新时间:2023-10-29 16:44:23 24 4
gpt4 key购买 nike

我正在使用 Angular CLI生成和服务项目。它似乎运作良好 - 尽管对于我的小学习项目,它产生的效果超出了我的需要 - 但这是意料之中的。

我注意到它为项目中的每个 Angular 元素(组件、服务、管道等)生成 spec.ts。我四处搜索,但没有找到对这些文件的用途的解释。

这些构建文件在使用 tsc 时通常是隐藏的吗?我想知道,因为我想更改我创建的命名不当的 Component 的名称,并发现这些 spec.ts 文件中也引用了该名称。


import {
beforeEach,
beforeEachProviders,
describe,
expect,
it,
inject,
} from '@angular/core/testing';
import { ComponentFixture, TestComponentBuilder } from '@angular/compiler/testing';
import { Component } from '@angular/core';
import { By } from '@angular/platform-browser';
import { PovLevelComponent } from './pov-level.component';

describe('Component: PovLevel', () => {
let builder: TestComponentBuilder;

beforeEachProviders(() => [PovLevelComponent]);
beforeEach(inject([TestComponentBuilder], function (tcb: TestComponentBuilder) {
builder = tcb;
}));

it('should inject the component', inject([PovLevelComponent],
(component: PovLevelComponent) => {
expect(component).toBeTruthy();
}));

it('should create the component', inject([], () => {
return builder.createAsync(PovLevelComponentTestController)
.then((fixture: ComponentFixture<any>) => {
let query = fixture.debugElement.query(By.directive(PovLevelComponent));
expect(query).toBeTruthy();
expect(query.componentInstance).toBeTruthy();
});
}));
});

@Component({
selector: 'test',
template: `
<app-pov-level></app-pov-level>
`,
directives: [PovLevelComponent]
})
class PovLevelComponentTestController {
}

最佳答案

规范文件是源文件的单元测试。 Angular 应用程序的约定是每个 .ts 文件都有一个 .spec.ts 文件。当您使用 ng test 命令时,它们通过 Karma 测试运行器 ( https://karma-runner.github.io/ ) 使用 Jasmine javascript 测试框架运行。

您可以使用它进一步阅读:

https://angular.io/guide/testing

关于angular - Angular CLI 生成的 "spec.ts"文件有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37502809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com