单元测试的最简单例子
例子如下:
import unittest
class MyClass(unittest.TestCase):
def test_hi(self):
self.assertEqual(1+1, 2)
if __name__ == '__main__':
unittest.main()
定义一个class, 包含 instance, class , static method
class Hi():
def instance_say_hi(self):
print(f'-- self: {self}') # 注意: 这里的 f'{self}' 就是string interpolation , >= python3.6 有效
return "hi"
@classmethod
def class_method_say_hi(this_class):
print(f'-- this_class: {this_class}')
return "hi from class_method_say_hi"
@staticmethod
def static_method_say_hi():
return "hi from static_method_say_hi"
定义对应的单元测试文件
import unittest
from Hi import * # 注意,这里不能简单的使用 import Hi , 会报错
hi = Hi()
class MyClass(unittest.TestCase):
def test_sum(self):
self.assertEqual(1+1, 2)
def test_hi(self):
hi = Hi()
self.assertEqual(hi.instance_say_hi(), 'hi')
self.assertEqual(hi.class_method_say_hi(), 'hi from class_method_say_hi')
self.assertEqual(Hi.class_method_say_hi(), 'hi from class_method_say_hi')
self.assertEqual(Hi.static_method_say_hi(), 'hi from static_method_say_hi')
if __name__ == '__main__':
unittest.main()
运行即可: $ python3 test_hi.py