如何在TestCase发布后的djangos中添加查询字符串?

时间:2018-06-19 16:08:14

标签: django api testing django-rest-framework query-string

我想在发布函数的Django APITestCase中添加查询字符串。 这是我用来测试不带查询字符串的帖子功能的代码:

self.url_pks = dict(cs_pk=self.cs,
                    kf_pk=self.kf)
url = 'as-list'
self.post_data = dict(model_feature='test')
response = self.post(url, **self.url_pks, data=self.post_data,
                         extra={'format': 'json'})

我要测试的URL是:/ api / cs / 7 / kf / 30 / as /?GET = true
那么如何包含'?GET = true'部分?

1 个答案:

答案 0 :(得分:0)

如果您阅读有关django.test.Client.post()的文档,则会在该部分的最后几段中找到答案。

只需将参数添加到url:

complete_url = '{}?{}'.format(
    url,
    '&'.join([
        'param1=aa',
        'param2=bb',
    ]))
response = self.post(
    complete_url,
    data=self.post_data,
    extra={'format': 'json'},
    **self.url_pks)