我目前有一些结构如下的测试:
tests/
category_a/
sub_category_1/
test_file_a11.py
test_file_a12.py
sub_category_2/
test_file_a21.py
test_file_a22.py
sub_category_3/
test_file_a31.py
test_file_a32.py
category_b/
sub_category_4/
test_file_b41.py
test_file_b42.py
sub_category_5/
test_file_b51.py
test_file_b52.py
sub_category_6/
test_file_b61.py
test_file_b62.py
这对我们需要的东西非常有效。实际上,这种分解更有意义,而且还有更多类别/文件。这也适用于我们的非测试结构。
问题在于我希望拥有多个级别的共享代码。一些代码应该在所有测试之间共享,一些代码只在category_a中的测试之间共享,一些特定于子类别。我可以在每个级别添加一个common.py,但最后我使用3个不同的公共文件来测试test_file_a32。它有效,但我觉得阅读起来很混乱。
有更好的方法吗?
答案 0 :(得分:1)
在行业中,测试团队使用类和子类实现您所描述的内容是很常见的。父类应该被称为common.py
,它的子类应该包含它们自己的专用测试(common.py
测试将被继承。)