Python:如何在开发第三方软件包时搭载现有测试

时间:2016-10-06 20:59:37

标签: python django

我的PR在django-rest-framework上添加"混合分页"被拒绝的原因是更好地参加第三方包。

所以我继续创建了包结构,但是在创建测试时遇到了困难,如果你看看PR files changed,我的新测试只是扩展了现有的测试,并改为使用我的新分页类

 +class TestCombinedPaginationPageNumber(TestPageNumberPagination):
 +    def setup(self):
 +        class ExamplePagination(pagination.HybridPagination):
 +            page_size = 5
 +
 +        self.pagination = ExamplePagination()
 +        self.queryset = range(1, 101)
 +
 +
 +class TestCombinedPaginationLimitOffset(TestLimitOffset):
 +    def setup(self):
 +        class ExamplePagination(pagination.HybridPagination):
 +            default_limit = 10
 +            max_limit = 15
 +
 +        self.pagination = ExamplePagination()
 +        self.queryset = range(1, 101)

我无法在我自己的第三方测试中找到一种方法来捎带这些测试,我无法远程扩展它,因为安装软件包并不包含测试文件。我尝试复制特定的test_pagination.py文件,但收到了很多错误。

1 个答案:

答案 0 :(得分:0)

更正您将无法包含pip install包中的测试。您需要克隆要在本地复制的测试用例。

  

我尝试复制特定的test_pagination.py文件,但收到了很多错误。

我建议从小开始。选择您要复制的单个测试用例。只复制一个,以及它依赖的任何导入。

更一般地说,您应该尝试专门测试程序包添加的位,而不是重新测试REST框架的行为。例如,为了“在分页风格之间切换”,不要试图测试分页本身,而是测试切换行为。

希望有所帮助。如果您在编写测试用例时遇到解决特定错误的任何问题,请在REST框架邮件列表上大声说出来。