以下是代码
import unittest
from again.base_agin.fun.calculator import Jessi
class TestCal(unittest.TestCase):
def setUp(self) -> None:
print('start')
def test01(self):
j = Jessi(1, 2)
try:
self.assertEqual(j.count(), 5)
except AssertionError as msg:
print(msg)
def test02(self):
j = Jessi(6, 2)
self.assertEqual(j.minus(), 4)
def tearDown(self) -> None:
print('end')
# if __name__ == '__main__':
# unittest.main()
suit = unittest.TestSuite() # 申请测试集套件对象
suit.addTest(TestCal('test01')) # 添加测试案例 类名(函数名)
# suit.addTest(TestCal('test02'))
runner = unittest.TextTestRunner() # 申请执行测试的对象
runner.run(suit)
可以看到测试集里面只增加了‘test01’这一个case,但是执行结果却是两个case都执行了。
后来才知道,因为运行的时候,默认 run unittest,是会运行所有的case的。只有运行py文件的时候,才会根据测试集去运行。
更改方式:
1点击pycharm的右上角run的下拉菜单,点击Edit configurations
2.将Python tests里的对应文件的py.test for…或者unittest for…的文件删除(选中后点击左上角的减号)
3.然后点+号,在下拉菜单中选择Python,然后在右边的script path里…选中所要运行的文件
4.点击apply &OK。此时,点击右键就会发现run unittest变成了run