Где мне нужно разместить свои тесты Django, чтобы они выполнялись? - PullRequest
0 голосов
/ 30 января 2019

Я использую Django и Python 3.7.Я хотел бы создать и запустить несколько юнит-тестов.Согласно документации Django, я создал этот файл ...

ls ./mainpage/tests/test_models.py

Но когда я запускаю свои тесты, используя команду ниже, он говорит, что были выполнены нулевые тесты ...

(venv) localhost:mainpage_project davea$ cd /Users/davea/Documents/workspace/mainpage_project; source ./venv/bin/activate; python manage.py test
Creating test database for alias 'default'...
/Users/davea/Documents/workspace/mainpage_project/venv/lib/python3.7/site-packages/django/db/models/fields/__init__.py:1421: RuntimeWarning: DateTimeField Article.main_page_first_appeared_date received a naive datetime (2019-01-29 22:43:53.575128) while time zone support is active.
  RuntimeWarning)
System check identified no issues (0 silenced).

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
Destroying test database for alias 'default'...

Ниже приведено содержимое моего файла.Что мне не хватает?Где я должен поставить свои тесты или как они должны быть названы так, чтобы они выполнялись?

from django.test import TestCase
from mainpage.models import ArticleStat, Article


class TestModels(unittest.TestCase):

    # Test saving an article stat that hasn't previously
    # existed
    def test_add_articlestat(self):
        id = 1
        article = Article.objects.filter(id=id)
        self.assertTrue(article, "A pre-condition of this test is that an article exist with id=" + str(id))
        articlestat = ArticleStat(article=article,elapsed_time_in_seconds=250,votes=25,comments=15)
        articlestat.save()
        article_stat = ArticleStat.objects.get(article=article)
        self.assertTrue(article_stat, "Failed to svae article stat properly.")

1 Ответ

0 голосов
/ 30 января 2019

Я думаю, что вы хотите управлять тестами в одном каталоге.Вот так.

.
├── app1
├── app2
├── ...
├── tests
│   ├── __init__.py
│   └── test_1.py
└── manage.py

Вы должны импортировать свои тестовые классы.

# tests/__init__.py
from .test_1 import YourTestClass

Затем вы можете запустить тест по python manage.py test tests.Если вы хотите запустить только модуль test_1, введите команду python manage.py test tests.test_1

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