Я работаю над написанием test_templates
, чтобы я мог очень быстро написать свои тесты, так как я понял, что дублирую один и тот же код с разными переменными.Но я столкнулся с проблемой:
# path of view
# '/app/view/path/'
view_name = 'service:create_employee_profile'
# valid field values to test form success.
valid_values = {
'first_name': 'First',
'last_name': 'Last',
}
# Search criteria for Model 'get' and 'filter'
# Model.objects.get(field=value)
# Model.objects.get(eval(model_criteria))
model_criteria = 'first_name="First"'
"""
TESTS: Submitting forms
"""
# TEST: View saves valid object.
def test_view_saves_valid_object(self):
response = self.client.post(
reverse(view_name), valid_values)
self.assertTrue(Model.objects.filter(eval(model_criteria)).exists())
Я думал, что мне установили eval()
, пока я быстро не обнаружил, что ему не нравится =
.Я попытался использовать 2 разные переменные для 'first_name="First"'
, но Модель никогда не найдет поле из variable='field_name'
.
Эти шаблоны помогают мне тестировать несколько представлений, добавляя к ним небольшую информацию, и поскольку для более чем одного теста в шаблоне требуется извлечь экземпляр модели, я пытаюсь установить переменную сверху, которая будетзапустить все связанные тесты.