npm 包 @ava/typescript 使用教程

阅读时长 4 分钟读完

介绍

@ava/typescript 是一个 TypeScript 类型定义文件的npm包,它可以为后续AVATest项目中的TypeScript文件添加类型检查,并且可以确保在编写测试时候,正确使用了函数和方法。

在这篇文章中,我们将学习如何在项目中使用 @ava/typescript 来实现 TypeScript 类型定义的深度学习和指导。

安装

如果您的项目已经使用了 TypeScript,使用 npm 命令行工具安装 @ava/typescript 十分简单:

这个命令将会在您的项目中安装最新版本的 @ava/typescript。

配置

将 @ava/typescript 安装到项目中后,我们需要在 AVA 的配置中添加一些额外的配置。

-- -------------------- ---- -------
-
  ------ -
    ------------- -------
    ---------------------- ------
    ---------- --------------------
    ------------- -
      ------------- -------
      -------- -----
    -
  -
-
  • extensions 定义需要运行 AVA 测试标记的文件扩展名
  • compileEnhancements 防止AVATEST编译TypeScript文件
  • require定义需要在执行测试之前加载的模块
  • typescript.extensions定义可以运行 TypeScript 测试标记的文件扩展名
  • typescript.babel告诉 AVA 是否应该使用 Babel 来转译 TypeScript 文件

使用

通过上述配置可以让 AVA 正确处理 TypeScript 文件,但是我们想要在测试中使用 TypeScript 的类型检查功能,进一步提高测试的验证效率。

为了实现这个目的,我们需要对 test 文件进行改进。

这条示例测试目前能够正常运行,但涉及到的所有变量类型都是 TypeScript 在推断后默认的任意类型(即 any 类型),这并不满足我们使用 TypeScript 的初衷,我们可以加入一些类型声明来使我们的代码更加规范,完整的示例代码如果如下:

-- -------------------- ---- -------
------ ----- - ---------------- - ---- -----
--------- ---------- -
  -- ------
  -- ------
  ------- ------
-

----- --- - -- -- - -- - -- ------- -- ------ --- ---------- -- --
  --
  --
  ------- - - --
--

------------ --- --- --------- --- ----------------- -- -
  ----- - ------ - - ----- -- -- -- - --
  ------------ --
--

这里我们对一个简单的加法函数进行了类型定义,并且在测试中使用它来比较结果。

结论

在这篇文章中,我们学习了如何在 AVA 测试中使用 TypeScript 的类型定义。@ava/typescript 包提供了更深度的类型检查和验证能力,这为我们的开发与测试工作带来了极大的效率提升。

参考

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/ava-typescript