我有一些单元测试和昂贵的设置工作。我想将它们分组并仅对给定的一组测试执行一次初始化。我看过setUpClass
,但它在一个层次结构中不起作用。我有很多来自相同基础测试的测试,他们最终会使用类方法共享状态。
例如,我有一些测试用例:
TreeBase
<- PineTests
<- NeedleTests
<- ConeTests
TreeBase
测试系列共享一个昂贵的初始化。但是必须对每个派生类本身进行(状态对于派生最多的TestCase是唯一的)。所以我想要的是这样的流程:
答案 0 :(得分:0)
模块可用作测试套件。将测试功能分组到模块中并使用setUpModule
和tearDownModule
功能。它不完全是我想要的文件结构,但确实有效。
从TestCase
派生的类仍然可以在此设置中使用,您无需恢复使用普通函数。最好将通用功能保留在全局帮助程序类中。这样您就不需要依赖unittest
了。