简介
parse-server-test-runner
是一个用来测试 Parse Server 的 npm 包,它可以帮助我们快速构建基于 Node.js 的测试环境,进行各种自动化测试。
该包采用了 Mocha 和 Chai 这两个流行的测试框架来进行测试,并且提供了许多方便的功能,比如:
- 自动创建测试数据库
- 方便的测试数据生成函数
- 支持多个 Parse Server 实例的测试
安装
首先我们需要安装 parse-server-test-runner
,可以通过 npm 在全局或本地进行安装:
npm install parse-server-test-runner --save-dev
如果需要使用测试数据生成函数,需要额外安装另外一个依赖:
npm install faker --save-dev
快速入门
下面我们来看一个简单的使用示例。
假设我们有一个 Parse Server 实例,它的 appId
和 masterKey
分别为 myAppId
和 myMasterKey
。我们的代码位于 ./test/test.js
文件夹下,我们需要测试一个名为 User
的对象类型,测试用例如下:
-- -------------------- ---- ------- ----- - ------ - - --------------- ----- ----- - --------------------- ----- - ------- ----------- ---------- ------ --------- -- - - ---------------- ----- --------------- - ----------------------------------- -- --- ----- --------------------------- --------- --------------- - ----------------------------- -- ------ ----- ------ - --- ----------------- ------ ---------- ---------- -------------- ---------- ----------------------------- -- -- ---- ---------------- -- -- - -- ----------- ------------ -- -- - ----- --------------------------- -- -- ----------- ---------------- -- -- - ----- ------------------------- -- -- ----------- --------------- -- -- - ----- -------------------------- -- -- ----------- ----------- -- -- - ----- --------------------------- -- ---------- ------ ---- -------------- ----- -- -- - ----- ---- - --- ------------ ---------------------------- -------------------------------- ------------------------------------- ----- ------------- -------------------------------------------- -- ---------- ------ ---- -------------- ----- -- -- - ----- ---- - ----- ----------------------------- --------------- - ------ ---------------------- -- -------------------- --------------- ----- ----------- -------------------------------------------------------- -- --
我们可以看到,这个测试用例非常清晰和简洁。首先我们初始化了 Parse,然后创建了一个 ParseTestRunner
实例,这个实例包含了我们所需要的测试环境。接着我们在 beforeEach
和 afterEach
中初始化了测试数据库,并且在每个测试用例中调用了 await user.save()
和 await user.signUp()
来进行测试。
最后我们只需要在命令行执行 npm test
即可运行测试。
高级用法
除了上面的快速入门使用方式,parse-server-test-runner
还支持其他一些高级用法,包括:
1. 自动创建 Parse Server 实例
如果我们需要测试多个 Parse Server 实例,我们可以使用 ParseTestRunner.create()
函数来自动创建这些实例。例如:
-- -------------------- ---- ------- ----- - ------ - - --------------- ----- --------------- - ----------------------------------- ------------ ------- -- -- - --- -------- ------- ------------ -- -- - ------- - ----- ------------------------ ------- - ----- ------------------------ -- - ------- - ------- ------- -- ----------- -- -- - ----- ------------------------------- ----- ------------------------------- -- ---------- -- ----------- ----- -- -- - -- - ------- - ------- ------ -- --
在这个示例中,我们使用 ParseTestRunner.create()
函数来创建了两个 Parse Server 实例,并在 before
和 after
中用 ParseTestRunner.delete()
函数来删除这些实例。
2. 执行多个测试文件
如果我们需要执行多个测试文件,可以在 package.json
文件的 scripts
中添加下面这条命令:
"test": "mocha './test/**/*.test.js'"
这样,Mocha 就会在 test
目录下查找所有 *.test.js
文件,并执行这些测试文件。
3. 执行多个测试套件
如果我们在某个测试文件中定义了多个 describe
块(也就是说,有多个测试套件),我们也可以通过在 mocha
命令中传递 --grep
参数来运行其中的一个套件;或者使用 --invert
参数来排除某个套件。例如:
mocha ./test/test.js --grep "My Tests"
或者
mocha ./test/test.js --invert --grep "Other Tests"
总结
parse-server-test-runner
是一个非常方便的 npm 包,可以帮助我们快速构建基于 Node.js 的测试环境,进行各种自动化测试。在实际项目中,如果我们需要对 Parse Server 进行测试,不妨试试这个包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005731881e8991b448e94ea