2013-02-13 6 views
1

Почему, если я бегу python manage.py test appname в моем терминале: Ран 0 тестов в 0.000s OKDjango. TestCase не работает

Это мой tests.py:

from django.test import TestCase 
import appname.factories 

class UserProfileTest(TestCase): 
    def sample_data(self): 
     for i in range(0, 10): 
      user = appname.factories.UserProfileFactory.create() 

Мой models.py:

from django.db import models 

class UserProfile(models.Model): 
    street = models.CharField(max_length=250) 
    tel = models.CharField(max_length=64, default='', blank=True) 
    postcode = models.CharField(max_length=250) 

    def __unicode__(self): 
     return self.tel 

Мой factories.py (завод мальчик):

from appname.models import * 
import factory 


class UserProfileFactory(factory.Factory): 
    FACTORY_FOR = UserProfile 

    street = factory.Sequence(lambda n: 'Street' + n) 
    tel = factory.Sequence(lambda n: 'Tel' + n) 
    password = 'abcdef' 

ответ

4

Ваши индивидуальные функции тестирования должны начинаться со слова «тест».

Вы должны изменить функцию def sample_data(self): к def test_sample_data(self):

Теста бегун будет искать какие-либо классы в файле с именем tests.py, которые сидят в корне вашего приложения, и которые проходят unittest.TestCase. Затем он будет запускать любые функции внутри этого класса, которые начинаются с теста слова (плюс одна или две другие функции, такие как setup())

Я, вероятно, тупой, но я ничего не видел в main django testing docs, в котором указано, что функции должен начинаться с теста слова. Во всяком случае, есть ссылка на требование в this (официальный) учебник.

2

test.py неправильно, он должен быть tests.py

docs about writing tests Говорит:

Для данного приложения Django, тест бегун ищет модульные тесты в двух местах:

  • models.py файлы , Тест-бегун ищет в этом модуле любой подкласс unittest.TestCase.
  • Файл с именем tests.py в каталоге приложения - то есть в каталоге, в котором содержится models.py. Опять же, тестовый бегун ищет в этом модуле любой подкласс unittest.TestCase.
+0

Извините, у меня есть tests.py в моем проекте. Это не было причиной ошибки – user2054574

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