当前位置: 首页 > 知识库问答 >
问题:

Angular CLI生成的“spec.ts”文件用于什么?

杜海
2023-03-14

在使用tsc时,这些构建文件是否通常被隐藏?我之所以感到疑惑,是因为我想更改我创建的一个名称不佳的组件的名称,并发现这些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 {
}

共有1个答案

孙玺
2023-03-14

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

你可以用它来进一步阅读:

https://angular.io/guide/testing

 类似资料:
  • 我是 Angular 2(以及一般的 Angular...)的新手,并且发现它非常吸引人。我正在使用 Angular CLI 来生成和服务项目。它似乎运行良好——尽管对于我的小学习项目来说,它产生的比我需要的要多—— 我注意到它为项目中的每个 Angular 元素(组件、服务、管道等)生成。我已经搜索了周围,但没有找到这些文件的用途的解释。 这些构建文件在使用时通常是隐藏的吗?我想知道,因为我想更

  • 本文向大家介绍pyx文件 生成pyd 文件用于 cython调用的实现,包括了pyx文件 生成pyd 文件用于 cython调用的实现的使用技巧和注意事项,需要的朋友参考一下 pyx文件是python的c扩展文件,代码要符合cython的规范,用什么编辑器写都行。我在eric4上写的,结果它默认用python解释器来进行解释,还提示有bug,“语法错误”。 上面的pyx文件还仅仅是源代码文件,要想

  • 我继承了一个Java应用程序,它被配置为在Google app Engine中运行。我的pom包括com.google.appengine.appengine-maven-plugin插件,它可能与这个问题相关,也可能与这个问题无关。 在我的src目录中,在WEB-INF目录中,我有一个“app.yaml”文件。但是当我的项目构建到一个war中时,目标目录同时有一个“app.yaml”文件和一个“

  • 使用 Hexo 生成静态文件快速而且简单。 $ hexo generate 监视文件变动 Hexo 能够监视文件变动并立即重新生成静态文件,在生成时会比对文件的 SHA1 checksum,只有变动的文件才会写入。 $ hexo generate --watch 完成后部署 您可执行下列的其中一个命令,让 Hexo 在生成完毕后自动部署网站,两个命令的作用是相同的。 $ hexo generate

  • 问题内容: 有什么好的Eclipse插件来生成类图(用于项目)? 这里这张图片是 正是 我在说什么。 问题答案: 假设您打算声明“类图”而不是“项目层次结构”,那么我在职业生涯的各个阶段都使用了以下Eclipse插件来生成类图: ObjectAid。我目前的偏好。 来自Omondo的EclipseUML。现在似乎只有商业版本可用。您问题中的类图很可能是由该插件生成的。 强制链接 列出的工具不会从源

  • 问题内容: 有时,当我运行代码时,用+ 终止程序会生成一个核心转储文件。文件名的格式为。该程序不会突然终止,并且没有分段错误。我认为这是不和。如果我尝试+ 或+ ,则不会生成。 谁能说出为什么仅在按+ 时才生成?如何避免生成此核心转储文件?核心转储文件有什么用? 问题答案: 当进程由于程序故障而被操作系统终止时,进程将转储核心。发生这种情况的最典型原因是因为程序访问了无效的指针值。鉴于您有一个零星