2015-08-19 2 views
-1

Должен ли я тестировать модели Django? До сих пор я писал тесты только для просмотров. Что еще может и должен быть протестирован?Следует ли тестировать модели Django?

+0

Ответы на ваш вопрос будут учтены. Мое мнение будет заключаться в том, что у вас должны быть «достаточные» тесты, чтобы удовлетворить ваши потребности. – Sayse

+0

Хотя я согласен с @Sayse, что написание тестовых примеров упрямо. Вы можете или не можете записывать тестовые примеры полностью на уровень управления кодом и его разработку. –

ответ

3

Django models можно проверить. Например, вы можете написать тестовые примеры для свойства, которое вы пишете для модели.

class Candidate(models.Model): 
    first_name = StringField() 
    last_name = StringField() 

    @property 
    def name(self): 
     return self.first_name + ' ' + self.last_name 

Теперь вы можете написать тестовый пример для этой модели. Сначала создайте экземпляр модели

class TestCandidateModel(SimpleTestCase): 

    def setUp(self): 
     self.candidate = Candidate.objects.create(first_name = 'ABC', second_name = 'XYZ') 

    def test_returns_candidate_name(self): 
     self.assertEqual(self.candidate.name, 'ABC XYZ') 
+1

, что мой тест скажет: D –

1

Что нужно проверить? Если вам нужен короткий ответ «ВСЕ, исключая внешние библиотеки». Ваши тесты должны быть максимально подробными. Если на моделях определен какой-то метод, то вместо косвенного тестирования его в представлениях вы должны проверить его в моделях и просто убедиться, что метод вызывается в представлениях. Итак, для типичного приложения django вы должны тестировать модели, менеджеры, формы, представления, сериализаторы, обработчики, даже средние (как я сказал все)

Смежные вопросы