funny-nation / Funny-Nation

This is a money-centric "Metaverse" within a Discord server.
https://www.funnynation.org/
MIT License
126 stars 37 forks source link

Integration test #57

Closed plbin97 closed 2 years ago

plbin97 commented 2 years ago

集成测试

需要你用Javascript或者Typescript,调用Discord.js库来实现黑盒集成测试。

点这里进Discord.js官网

这里我用bot指代Python的业务Bot,testing bot指代你需要用Javascript写的测试bot。

写完之后发pr到testing分支

测试运行流程

  1. 启动testing bot
  2. 调用child_process库来来运行这个Bot:python main.py
  3. 等待大约若干秒,确保bot启动完毕,然后testing bot开始在Funny Nation Discord的for-testing频道发送指令,然后等待bot在该频道回应消息(或者其他动作,比如添加tag,金钱变化等,甚至需要连接MySQL数据库去后台查询一下结果)
  4. 经过一系列的测试,完成之后,把Bot暂停。
  5. 结束exit(0)

测试期间,如果有异常,直接结束,exit(1)。但确保用child_process运行的python main.py也要结束。 运行测试之前,默认是数据库已清空的。

集成测试运行前,CI会做的东西

具体可以查看.github/workflows/main.yml

需要用的资源