Django: тестовый пост - PullRequest
0 голосов
/ 13 июня 2018

Я пытаюсь проверить свой пост с помощью набора тестов.Я просто пытался следовать документации , чтобы сделать это.Основная проблема, с которой я столкнулся сейчас, заключается в том, что response.context возвращает None.Вот как выглядит мой тестовый класс:

class JSONHandlerTester(TestCase):
def setUp(self):
    self.client = Client()
    self.jsonTestPath = os.path.join(settings.MEDIA_ROOT,'json','jsonTests')


def testing(self):
    for test in os.listdir(self.jsonTestPath):
        testFile = os.path.join(os.path.join(self.jsonTestPath),test)
        split = test.split('.')
        testName = split[0]
        testNameArray = re.findall('[a-zA-z][^A-Z]*', testName)
        project = testNameArray[0]
        team = testNameArray[1]
        with open(testFile) as json:
            response = self.client.post('/JSONChecker', {'json_project': project, 'json_team': team, 'json': json})
        print response
        print response.context
        if (response.context['title'] == "Congratulations!!! Your JSON Passes!!!" and testNameArray[2] == "Pass") or (response.context['title'][2:] == "The" and testNameArray[2] == "Fail"):
           print test+': Works'
        else:
           print test+': BREAKS: PROBLEM DETECTED'

Также вот как выглядит мой рендер:

return render(request, 'JSONChecker.html',context = {'title': title, 'validationErrors':validationErrors,'errors':errors, 'isLoggedIn':isLoggedIn, 'form': form, 'post':post})

Если форма недействительна или расширение не является json, этокак выглядит рендер (это не должно запускаться набором):

return render(
            request,
            'JSONChecker.html',
            context = {'title': title,'errors': errors,'isLoggedIn':isLoggedIn,'team':team, 'email':email,'form':form, 'post': post},
        )

Content-Length: 0

Content-Type: text / html;charset = utf-8

Расположение: / JSONChecker /

Я использую Django 1.11 и Python 2.7

1 Ответ

0 голосов
/ 13 июня 2018

Атрибут контекста заполняется только при использовании бэкэнда DjangoTemplates.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...