Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我需要将Django测试放在哪里才能执行?_Python_Django_Python 3.x_Unit Testing_Testing - Fatal编程技术网

Python 我需要将Django测试放在哪里才能执行?

Python 我需要将Django测试放在哪里才能执行?,python,django,python-3.x,unit-testing,testing,Python,Django,Python 3.x,Unit Testing,Testing,我正在使用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; pyth

我正在使用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.")

我认为您希望在一个目录中管理测试。像这样

.
├── app1
├── app2
├── ...
├── tests
│   ├── __init__.py
│   └── test_1.py
└── manage.py
您必须导入测试类

# tests/__init__.py
from .test_1 import YourTestClass

然后,您可以通过
python manage.py测试运行测试。如果您只想运行
test\u 1
模块,命令是
python manage.py tests.test\u 1

每个应用程序都有一个
tests.py
,请将测试代码放在其中,不要忘记在测试中添加init.pydirectory@yorodm,人们将整个测试套件放在一个文件中?如果人们想将可读性测试分解,并将相似的测试分组到不同的文件中,该怎么办?仍然在学习Django/Python,所以我想问的可能不是做了什么。