6

因此,我创建了一个自定义管道extra_data,用于保存从模型属性中获取的用户社交资料数据user.social_auth。我已经对其进行了彻底的测试,但是是手动的。

  1. 如何使用常规自动测试我的自定义管道django.test.TestCase

  2. 如何测试正常管道是否工作?用户注册、登录等?

我确实搜索了很多,但没有找到任何相关的类似问题,更不用说教程或文档了。

更新- 我将问题作为问题发布在 github 上,发现存在用于管道测试的功能。现在我只需要弄清楚如何将它用于我的目的。

4

1 回答 1

5

首先 - 假设 Pipeline 机制有效,因此您无需对其进行测试。

第二 - 找出你需要传递给你的函数的参数。

第三 - 写你的测试。

使用 Django TestCase,您的测试将如下所示。

from mycustompipeline import pipelinefunction

class MyPipeLineTest(TestCase):
    def setUp(self):
        self.arg1 = Arg1() #both one and two could be mocks.
        self.arg2 = Arg2()

    def test_that_my_pipeline_does_something(self):
        result = pipelinefunction(self.arg1, self.arg2)

        self.assertTrue(result)

这将是你的基本结构,没有更多关于你的管道做什么的信息,这是尽可能好的。无论如何,您都会了解 Django TestCase 是如何工作的。

从中得到的好处是,您不需要测试它如何与实际管道本身结合在一起,这是让管道知道的,您只需担心您的功能。如果您出于某种原因需要一个管道对象,请模拟它

于 2014-08-12T20:23:31.340 回答