官方用例
# content of test_class.py
# 实例1
class TestClass:def test_one(self):x = "this"assert "h" in xdef test_two(self):x = "hello"assert hasattr(x,"check")
# content of test_class_demo.py
# 每个测试都有唯一的类实例
class TestClassDemoInstance:value = 0def test_one(self):self.value = 1assert self.value == 1def test_two(self):assert self.value == 1
解读与实操
一旦开发了多个测试,你可能希望将它们分组到一个类中。pytest可以很容易地创建一个包含多个测试的类。
确保为类添加Test前缀,否则将跳过该类。
将测试分组到类是有益的,原因如下:
- 更好的组织测试
- 仅在该特定类中共享fixture
- 在类级别应用mark,并将其隐式应用于所有测试
在类中对测试进行分组时需要注意的是,每个测试都有一个唯一的类实例。让每个测试共享相同的类实例将非常不利于测试隔离,并会造成糟糕的测试实践。
场景应用
程序开发过程由面向函数发展到面向对象,测试用例也可以通过面向对象进行设计,更好的感受pytest带来的便利。