如何从另一个模块动态生成一组 TestCase 子类?

发布于 2024-12-03 09:21:14 字数 318 浏览 0 评论 0原文

我有一个 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

海夕 2024-12-10 09:21:14

几乎完全符合您想要的功能的是 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 in test_tcp, for example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文