什么是 mjsunit.runner
mjsunit.runner 是一个 NPM 包,旨在为 JavaScript 开发者提供一种方便的方式来运行测试。它允许您运行 JavaScript 测试,包括在 Node.js 和浏览器中运行的测试。
安装
要安装 mjsunit.runner,请运行以下命令:
npm install mjsunit.runner --save-dev
安装包后,您就可以在你的项目中使用它了。
使用
- 首先,在你的测试文件中创建一个测试套件,并添加测试用例:
-- -------------------- ---- ------- ------ ------ ---- --------- ----------------- ---------- - ---------------------- ---------- - ---------- ------ -- ---- --- ----- -- --- --------- ---------- - -------------------------------- ---- --- --- ---
这个测试套件描述了一个数组(Array)中的一个方法(indexOf()),并测试了其是否能正确地返回 -1。
- 然后,创建一个启动文件,我们叫它 run.js:
import { Runner } from 'mjsunit.runner'; import './test.js'; const runner = new Runner(); runner.run();
这个文件创建了一个 Runner 实例,配置了它运行的测试文件(test.js),并通过调用 runner.run()
方法来启动测试。
在此之后,您就可以使用 npm run test
命令运行您的测试。
配置
您可以通过传递一个配置对象来配置 Runner。以下是可用的配置项列表:
files
一个包含测试文件路径的数组,例如 ['path/to/test.js', 'path/to/other_test.js']
。
verbose
是否显示详细的测试结果。默认为 false。(只输出通过/失败的测试用例)
bail
当第一个测试失败时,是否停止运行。 默认为 false。(即使有测试失败也继续执行其他测试用例)
reporter
指定测试结果的输出方式。 可以是字符串或者一个函数(详见文档)。默认为 'spec'
。
示例代码
下面是一个完整的示例代码,演示了如何使用 mjsunit.runner 进行测试:
-- -------------------- ---- ------- -- ------- ------ ------ ---- --------- ----------------- ---------- - ---------------------- ---------- - ---------- ------ -- ---- --- ----- -- --- --------- ---------- - -------------------------------- ---- --- --- --- -- ------ ------ - ------ - ---- ----------------- ------ ------------ ----- ------ - --- -------- -------- ----- ----- ----- --------- ------ --- -------------
当您运行 npm run test
命令时,它将返回以下结果:
-- -------------------- ---- ------- ----- ---------- - ------ ------ -- ---- --- ----- -- --- ------- - ------- -- ----- ---------- ------ ------ -- ---- --- ----- -- --- -------- --------------- -- -- - -- ------------------- ------------- --- ---- ---- ------- --- ----- --- ---- --------
由于测试失败,输出了详细的错误信息。在这个示例中,可以看到测试文件中的测试用例已通过 Runner
实例成功运行,并弹出了一个用以报告测试结果的 Nyan Cat。然后,Runner
实例输出了测试结果到控制台,并在最后一个测试用例失败时停止运行测试。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f75d9db7116197505561a51