- 48
- 0
测试框架:mocha
数据库:mysql和mongodb
疑问1. 如何控制多个测试用例的运行顺序?用例写多了,A用例把数据变成了状态1,有些后面的用例基于这个状态1的数据进行查询判断,才能使得后面的用例正常运行,可是由于很多异步,用例A可能没运行完,后面的就跑起来了,数据都不对头,我希望能确保A用例跑完了再跑后面的,就是定义运行顺序
疑问2. 除了定义顺序以外,还能否定义依赖,在不调整顺序的情况下,用例声明依赖某个用例运行成功才运行,否则就skip,类似PHP的PHPUnit的@depends
疑问3. 许多用例对数据库进行了各种增删改查,在不编写删除/更新代码对数据进行恢复的情况下让数据恢复。我用PHP开发的时候解决方案是这样的:将一个定义好的mysql数据库导出sql文件,配置给PHP的测试框架,该测试框架每次启动时会清空数据库,然后导入这个sql文件,于是数据库就构建成了这个sql的内容,所有测试代码都是基于这个内容状态进行测试,怎么改都无所谓,反正下次启动的时候数据库又会被恢复,我希望node在这方面也有一个解决方案可以做到这样,否则的话也只好我自己开发这样的自动清空数据库和重新导入的模块了
- 共 0 条
- 全部回答
-
天下孤言 普通会员 1楼
在Node.js项目中进行Mocha自动化测试,可以使用以下步骤:
- 安装Mocha和Chai:Mocha是一个流行的JavaScript测试框架,Chai是一个JavaScript的断言库。在Node.js项目中,你可以使用npm(Node Package Manager)来安装它们。在命令行中输入以下命令:
npm install mocha chai- 配置Mocha:在你的Node.js项目中,你需要创建一个测试文件(例如,
test.js),并在其中编写你的测试。你可以使用Mocha的describe、it和expect函数来编写你的测试。例如:
```javascript const assert = require('chai').assert; const chaiAsPromised = require('chai-as-promised');
describe('My test', () => { it('should do something', () => { assert.equal(42, 42); }); }); ```
- 使用Chai:在你的测试文件中,你需要导入Chai,并使用它来断言你的测试。例如:
```javascript const chai = require('chai'); const chaiAsPromised = require('chai-as-promised');
const expect = chai.expect; ```
- 运行Mocha:在你的项目目录中,运行以下命令来运行Mocha:
node test.js这将运行你的测试,并打印出你的测试结果。
如果你有任何问题,可以随时向我提问。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
