问答 如何使得 unittest 的测试用例有序规划?

醋精测试媛 · 2020年11月26日 · 最后由 冻柠乐 回复于 2020年11月26日 · 2639 次阅读

通过 unittest 的加载器 discover 用例并加到 suite 中的顺序是按照测试用例名称的 ASCII 码。

我发现它会先首先考虑 class 的命名,再考虑函数的命名

由于在自动化测试中,我首先需要登陆,用例名称为test_login,但是为了保证代码的可读性,我给其中一个用例命名为test_community_list,这样的话,登录会被安排到后面,如果我想要 login 用例放到前面,只能粗暴的:

感觉这个方法过于粗暴,而且不符合一般的命名规范,请问大家是否有合适的命名方法使得用例既能按照我希望的顺序进行,也能保证命名的规范呢?

共收到 4 条回复 时间 点赞

确实不是技术含量很高的问题,但是是我纠结的一个点,我觉得确实上图中的命名不好看也不规范

unittest 的执行顺序就是按照 asiii 0-9 A-Z a-z 排序的呃,直接就这样修改函数名还比较方便一些
或者用 TestSuite().addTest,不过这个感觉更麻烦
改用 pytest 有排序的插件

冻柠乐 回复

有修改函数名称,但是 ascii 会先考虑文件名,然后是 class 名,然后是函数名

都一样的意思,这也没什么好办法

醋精测试媛 关闭了讨论 11月26日 16:08
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册