)
如图所示,我们知道 uniitest 的 testsuite 是按照 ASCII 编码检索并执行的,我的 case 都加了 a00x 的标志,确保他的执行顺序,但是不知道为什么现在的执行顺序是 1 67 2345,67 跑到前面去了,求解。
在一个测试类下的 testcase 是按照 ASCII 的顺序执行,不同文件下还真没研究过。。
顺序有强要求?
通过 unittest.testsuite().addTests() 方法的,可以让用例按照指定的顺序执行
测试用例的名字是按 ASCII 顺序来执行的。所以可以这样:
testunit.addTest(Backtest("test_a_shopping_Add_address"))
testunit.addTest(Backtest("test_b_shopping_process"))
以此类推。
就我的用例其实已经按照顺序命名了如下检索出来的,但是我找不到为什么 a006,a007 在 a002 前面的道理。。。。
<unittest.suite.TestSuite tests=[
<account.test_a001_accountVerify.TestAccountVerify testMethod=test_a001_accountVerify>, <account.test_a006_appLogin.TestAppLogin testMethod=test_a006_appLogin>,
<account.test_a007_getUserSurvey.TestGetUserSurvey testMethod=test_a007_getUserSurvey>, <account.test_a002_getLatestVerify.TestGetLatestVerify testMethod=test_a002_getLatestVerify>]>
有老哥建议我把文件名中的第一个下划线去掉,执行顺序正常了,这是什么道理
unnitest 时按照一步一步的检索名字来的,你再检查一下呢