如何从另一个模块动态生成一组 TestCase 子类?
我有一个 python 模块,它定义了一组基类,然后另一个 python 模块实现这些基类。
核心 python 模块还具有测试用例,用于测试基类是否正确实现。
在第二个模块的测试套件中,我想从第一个模块自动生成 TestCase 子类,并添加一个 mixin 来为特定实现执行必要的 setUp() 。
我看到很多参数化测试用例的答案,但就我而言,我只想重用公共类并子类化所有这些类。
如果需要父测试模块中的一些代码来实例化它们,只要它以不同的方式命名测试并自动运行它们,就可以了。
如果重要的话,这段代码使用的是标准单元测试的扭曲和试用。
I have one python module that defines a set of base classes which another python module then implements.
The core python module also has test cases that test if the base classes are correctly implemented.
In the second module's test suite, I would like to automatically generate the TestCase subclasses from the first module, and adding a mixin that does the necessary setUp() for the specific implementation.
I see lots of answers for parametrizing test cases, but in my case I just want to re-use the common classes and subclass all of them.
It's ok if it needs some code in the parent test module to instantiate them, as long as it names the tests differently and runs them all automatically.
If it matters, this code is using twisted and trial over standard unittest.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
几乎完全符合您想要的功能的是
twisted.internet.test.reactormixins.ReactorBuilder
。您可以在test_tcp
,例如。Something that may do almost exactly what you want is
twisted.internet.test.reactormixins.ReactorBuilder
. You can see how it's used intest_tcp
, for example.