【发布时间】:2018-11-18 21:01:34
【问题描述】:
我目前有一些结构如下的测试:
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。它有效,但我觉得阅读起来很混乱。
有没有更好的方法来做到这一点?
【问题讨论】:
-
使用类和子类。子类应基于
common.py测试,并将继承所有可用的方法/功能。 -
@Adi219 那么你会给每个文件起什么名字呢?
-
all_tests.py在/tests目录内,a_tests.py在/tests/a目录内,subcat1_tests.py在/tests目录内。或者,您可以在/tests目录中拥有一个包含所有这些常见测试的文件,然后从不同文件中访问不同的测试。
标签: python