@angular-extensions/pretty-html-log

中文文档
5.1.1发布于 2024/07/13MITTypeScriptES Module近 30 天下载 53.7万

用Jest改进角元件测试的调试!

中文使用文档
文档目录14 节
  1. 为什么你要使用这个模块
  2. 特征
  3. 开始
  4. 安装
  5. 使用量
  6. API 密码
  7. 实例
  8. 在特定调试中通过
  9. 实例
  10. 打印角评语
  11. 更改主题
  12. 进一步资源
  13. 博客文章
  14. 视频教程

@angular-extensions/ pretty-html-log 页面存档备份,存于互联网档案馆

用Jest改进角元件测试的调试!

@angular-extension/pretty-html-log是一个模块,它用Jest的微风进行调试组件测试. 增加了一个 phl 用于打印 内侧HTML 页:1 ComponentFixture页:1 DebugElement页:1 NativeElement 或HTML字符串.

logNgHTML

为什么你要使用这个模块

当调试组件测试时,往往需要检查DOM. 最常见的做法是使用古老的 console.log 有一些缺点.

首先,总是打字很烦人

fixture.debugElement.nativeElement.innerHTML;

此外 console.log 语句不会非常容易读取地打印 HTML 。 因此,我们仍然需要将字符串复制到一个新的HTML文件并格式化,才能检查. 不是用这个 @angular-extensions/ pretty-html-log 页面存档备份,存于互联网档案馆来啊!

logNgHTML

特征

  • 规定 a phl 突出显示和漂亮打印a fixture, (中文(简体) ), debugElement, (中文(简体) ), nativeElement 甚至是简单的 HTML 字符串 - 您不必担心如何到达 HTML, 只需将您要打印的东西传递给 phl 方法.
  • 如果你使用更漂亮的(你应该使用;);), pretty-html-log将选择 根据您更漂亮的配置, 将您更漂亮的配置上上并相当的打印 HTML 字符串 。 @ @ info

开始

安装

此模块只在开发期间使用,因此可以被安装为dev依赖.

npm i -D @angular-extensions/pretty-html-log

使用量

pretty-html-log可以用两种不同的方式使用. 第一个也是最 简单的方法就是简单地导入 phl 函数输入测试中.

通过导入使用

这个 @angular-extensions/pretty-html-log 软件包提供 phl 可以用来打印一个 fixture, (中文(简体) ), debugElement, (中文(简体) ), nativeElement 甚至是普通的 HTML 字符串。 只需在调试和打印HTML时导入它.

import { phl } from '@angular-extensions/pretty-html-log';

describe('my test suite', () => {
  it('should be green', () => {
    phl(fixture); // This will pretty print the fixture
    expect(myTable.getRows()).toBe(5);
  });
});

导入 phl 函数是直接的 。 然而,由于phl常被作为临时工具使用,因此在文件的顶部添加一个导入会很麻烦. 这很容易被遗忘,需要在事后进行人工清理.

如果我们能用一下 phl 函数不需要导入。 让我们来看看如何设置 phl 全球功能.

为了确保未使用的进口说明得到清理,我们应该配置我们的eslint来清理未使用的进口. 更多内容: https://www.npmjs.com/package/eslint-plugin-未使用-进口。 。 。 .

通过全球使用

来做 phl 全球可用、导入和运行下列方法: jest.setup.ts 文档.

import { setupPhl } from '@angular-extensions/pretty-html-log';

setupPhl();

API 密码

这个 phl 方法有下列签名:

<T>(
  ngHTMLElement: NgHTMLElement<T>,
  enableComments = false,
  theme = THEMES.DRACULA
)
财产说明
ngHTMLELEN (英语)从 html 从控制台取出并精确打印到控制台的值: 组件Fixture
启用Comments( 默认: 假)当设定为真实时, 我们按 Angular 打印生成的评论 。 例如: <!-bondings-"ng-reflect-ng-for-of":.
主题:(默认: DRACULA)pretty-html-log主题(DRACULA,VSCODE和材料)

实例

在特定调试中通过

在测试中您只需写出以下一行 .

phl(fixture.debugElement.query(By.css('mat-tab-body')));

这将打印以下字符串到您的控制台 。 取决于您的测试配置 可能会遇到一个问题 与控制台的补丁。 在这种情况下,它最好报告: 问题 并使用 logNgHTML 函数直接.

phl(fixture.debugElement.query(By.css('mat-tab-body')));

logNgHTML

实例

记录固定器的内容内置HTML

phl(fixture);

调试元素(或多个调试元素)

phl(fixture.debugElement);

土著元素(或多个土著元素)

phl(fixture.debugElement.nativeElement);

甚至是简单的 HTML 字符串

phl('<h1>Foo</h1>');

打印角评语

Angular 为我们的HTML文件添加了一些注释. 通常,在调试我们的测试时,我们不需要它们. 因此,他们 未默认打印。 不过,有些情况下,你想要刊登这些评论。 要这样做,你 可以通过 true 作为额外的一面旗子 logNgHTML 方法.

phl(fixture, true);

更改主题

@angular-extensions/pretty-html-log 允许您打印不同主题的 html 日志. 目前,我们支持(DRACULA、VSCODE和材料)。 主题可以导入自 pretty-html-log,基础库 @angular-extensions/pretty-html-log 取决于.

import { THEMES } from 'pretty-html-log';

console.logNgHTML(fixture, false, THEMES.VSCODE);

进一步资源

博客文章

Jest 改进角部件测试的调试 是一个在 AngularIn Depth 上显示 @angular-extensions/pretty-html-log 在项目中使用和设置.

视频教程

IMAGE ALT TEXT HERE

版本与发布记录

@angular-extensions/pretty-html-log 共发布 17 个版本,首次发布于 2019/11/07;过去 12 个月发布了 0 个版本。

版本发布日期距今
5.1.1latest2024/07/132 年前
5.1.02024/07/132 年前
5.0.22022/10/044 年前
5.0.12022/01/124 年前
5.0.02022/01/044 年前
4.0.12021/03/175 年前

关于 @angular-extensions/pretty-html-log 的常见问题

@angular-extensions/pretty-html-log 是什么?

用Jest改进角元件测试的调试!

如何安装 @angular-extensions/pretty-html-log?

在项目目录运行 npm install @angular-extensions/pretty-html-log,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@angular/common(>=9)、@angular/core(>=9)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@angular-extensions/pretty-html-log 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@angular-extensions/pretty-html-log 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@angular-extensions/pretty-html-log 可以商用吗?

@angular-extensions/pretty-html-log 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@angular-extensions/pretty-html-log 的下载量有多少?

根据 npm 官方下载统计,@angular-extensions/pretty-html-log 在 2026/10/06 – 2026/11/04 这 30 天内被下载 537,147 次,日均约 17,905 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@angular-extensions/pretty-html-log 还在维护吗?

最新版本 5.1.1 发布于 2024/07/13(2 年前);至今共发布 17 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/11/07。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。