账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    node项目mocha自动化测试的疑问
    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
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 天下孤言 普通会员 1楼

      在Node.js项目中进行Mocha自动化测试,可以使用以下步骤:

      1. 安装Mocha和Chai:Mocha是一个流行的JavaScript测试框架,Chai是一个JavaScript的断言库。在Node.js项目中,你可以使用npm(Node Package Manager)来安装它们。在命令行中输入以下命令:

      npm install mocha chai

      1. 配置Mocha:在你的Node.js项目中,你需要创建一个测试文件(例如,test.js),并在其中编写你的测试。你可以使用Mocha的describeitexpect函数来编写你的测试。例如:

      ```javascript const assert = require('chai').assert; const chaiAsPromised = require('chai-as-promised');

      describe('My test', () => { it('should do something', () => { assert.equal(42, 42); }); }); ```

      1. 使用Chai:在你的测试文件中,你需要导入Chai,并使用它来断言你的测试。例如:

      ```javascript const chai = require('chai'); const chaiAsPromised = require('chai-as-promised');

      const expect = chai.expect; ```

      1. 运行Mocha:在你的项目目录中,运行以下命令来运行Mocha:

      node test.js

      这将运行你的测试,并打印出你的测试结果。

      如果你有任何问题,可以随时向我提问。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部