前言
在前端开发中,测试一直是一个不可或缺的环节。为了方便测试,社区中也涌现了不少工具和库。其中,tap-given 是一个非常不错的库,提供了类似于 BDD(Behavior-driven development,行为驱动开发)的语法,可以极大地简化测试代码。
本文将介绍 tap-given 的使用方法,帮助读者了解如何使用 tap-given 进行前端测试。
简介
tap-given 是一个 npm 包,可以在 Node.js 或浏览器环境下使用。tap-given 提供了一个 DSL(Domain Specific Language,领域特定语言),其中包含了 Given/When/Then/TAP 等模块。通过这些模块的组合,就能够非常灵活地书写测试代码。
tap-given 是基于 TAP(Test Anything Protocol,测试任何协议)协议的,TAP 是一种测试输出格式,可以在命令行下方便查看测试结果。由于 tap-given 已经处理了 TAP 协议的输出,因此我们在测试时不必自己处理输出结果。
安装
在 npm 中安装 tap-given:
npm install -D tap-given
使用
编写测试用例
通过 tap-given,我们可以使用 Given/When/Then 这样的关键词来描述测试用例。接下来是一个示例:
-- -------------------- ---- ------- ----- - ------ ----- ----- --- - - --------------------- --------- ----- ----- --- ------ -- - --------------- - ------ --- --------- ----- ----- --- ------ -- - --------------- -- ------ --- ---------- ----- ----- --- ------ -- - ------------------------ ------- --- ------
在代码中,我们首先引入了 tap-given 的 Given/When/Then/run 模块。接下来使用 Given/When/Then 来描述测试场景和期望结果。在这个示例中,我们描述了有一个人有几个苹果,他吃掉了一些苹果,最终剩余的苹果数是多少。
最后调用了运行函数 run(),tap-given 会自动运行我们的测试用例,并输出测试结果。
执行测试用例
执行测试用例,有两种方式:使用 tap 或 tap-given 自带的测试运行器。
使用 tap 的命令行方式:
npx tap ./test/your-test-file.test.js
使用 tap-given 自带的测试运行器的方式:
const { run } = require('tap-given'); run();
其中 tap-given 自带的测试运行器功能更加完善,可以非常方便地对测试用例进行筛选、开启/关闭调试模式等。
TAP 输出
无论是通过 tap 命令行还是 tap-given 自带的测试运行器,都输出了类似于下面的 TAP 格式的数据:
-- -------------------- ---- ------- --- ------- -- - -- - ------- - -------- - --- -- - - ----- -- - --- --- ------ - --- -- - - ---- --- - --- --- ------ - --- -- - - ---- ---- - --- - -- - ------- - -------- - --- -- - - ----- -- - --- --- ------ - --- -- - - ---- --- - --- --- ------ - --- -- - - ---- ---- - --- ---- - ----- - - ---- - - --
可以看到,每个测试用例的 Given/When/Then 整合在一起输出,非常直观。同时,每个测试用例的具体情况也在输出中被展现了出来。
总结
tap-given 是一个非常方便的前端测试库,和其他测试库的语法差异较大。但是只要掌握了其中的 DSL,便可以快速、简约地编写测试用例。在实际开发中,tap-given 可以加速前端测试的速度,减轻测试工作的负担,同时迅速获得反馈结果。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600562ca81e8991b448e0117