我有以下情况:
"%s with embedded ' single quote"
,"%s with embedded \t horizontal tab"
和类似字符(它约有十几种模式)。"%s"
)和其他各种限制:
unittest
有效,nose
就足够了。)unittest.TestCase
的合同。即解决方案不应该影响测试发现(可能会发现以test
开头的所有内容,但是那里的runTest
也可能会在构造中被覆盖,并且会有更多变化)。我尝试了一些解决方案,我对其中任何一个都不满意:
unittest
尝试将其作为测试用例运行(因为它像测试用例一样嘎嘎叫)。这可以解决,但代码变得越来越难看。此外,需要覆盖许多函数,对于其中一些函数,文档有点不清楚需要在基类中实现哪些属性。另外,必须复制测试发现,这意味着从unittest
内部复制代码。SubTest
的函数,从每个测试函数调用。每个测试功能都需要样板,并且只为整个测试系列提供一个测试结果。TestCase
并返回TestSuite
的装饰器。到目前为止,这种方法效果最好,但我不知道是否可以多次添加相同的TestCase
对象。或者是否可以复制TestCase
个对象(我可以控制所有对象,但我不知道基类在这方面的作用或期望)。最好的方法是什么?