Python3的unittest测试用例按编写顺序执行

博客指出若测试用例完全无依赖,对设计和实现要求高,而游戏系统内操作关联性大,实现用例解耦需检测玩家状态。若控制执行顺序,可节省代码量、便于阅读。还介绍了unittest默认加载顺序及两种控制测试用例执行顺序的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果完全没依赖,测试用例的执行顺序是不需要关注的。但是这样对于用例的设计和实现,要求就高了许多。

而对游戏来说,一个系统内的操作,是有很大的关联性的。以军团为例,军团内的每个操作都有一个前提,你需要加入一个军团。
所以要实现用例之间的完全解耦,需要每个用例开始之前,检测玩家的军团状态。

如果可以控制测试用例的执行顺序,按照功能玩法流程一遍走下来,节省的代码量是非常可观的,阅读测试用例也会清晰许多。
=========~~=======~~~~~~~

根据排序规则,unittest执行测试用例,默认是根据ASCII码的顺序加载测试用例,数字与字母的顺序为:0-9,A-Z,a-z。
=========~~=======~~~~~~~

方式1,通过TestSuite类的addTest方法,按顺序加载测试用例:
suite = unittest.TestSuite()
suite.addTest(TestLegion(“test_create_legion”))
suite.addTest(TestLegion(“test_bless”))
suite.addTest(TestLegion(“test_receive_bless_box”))
suite.addTest(TestLegion(“test_quit_legion”))
unittest.TextTestRunner(verbosity=3).run(suite)

方式2,通过修改函数名的方式:
class TestLegion(unittest.TestCase):

def test_1_create_legion(self):
    """创建军团
    :return:
    """
def test_2_bless(self):
    """ 公会祈福
    :return:
    """
def test_3_receive_bless_box(self):
    """ 领取祈福宝箱
    :return:
    """
def test_4_quit_legion(self):
    """退出军团
    :return:
    """
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值