我只想用套件执行test02_b 结果却全都执行了
import unittest
class Login(unittest.TestCase):
def test01_a(self):
print("测试用例01")
def test02_b(self):
print("测试用例02")
def test03_c(self):
print("测试用例03")
if __name__ == '__main__':
# 创建测试套件
suite = unittest.TestSuite()
# 将要执行的测试用例添加到测试套件中
suite.addTest(Login("test02_b"))
# 执行测试用例
unittest.TextTestRunner().run(suite)
执行结果:
Ran 3 tests in 0.002s
OK
Launching unittests with arguments python -m unittest E:/SoftTest/selecode/unittest/day01/Login.py in E:\SoftTest\selecode\unittest\day01
Process finished with exit code 0
测试用例01
测试用例02
测试用例03
【以下回答由 GPT 生成】
解决方案: 可以使用 TestLoader.loadTestsFromName()
方法来从测试类中选择指定的测试用例并创建对应的测试套件。
代码如下:
import unittest
class Login(unittest.TestCase):
def test01_a(self):
print("测试用例01")
def test02_b(self):
print("测试用例02")
def test03_c(self):
print("测试用例03")
if __name__ == '__main__':
# 创建测试套件
suite = unittest.TestSuite()
# 选择指定的测试用例
test_case = unittest.TestLoader().loadTestsFromName('test02_b', Login)
# 将要执行的测试用例添加到测试套件中
suite.addTest(test_case)
# 执行测试用例
unittest.TextTestRunner().run(suite)
通过以上代码,只会执行 test02_b
这个测试用例。