在Django项目中找不到测试

时间:2019-02-12 15:38:04

标签: python django python-unittest

我正在尝试使用python migration.py test在Django项目中运行测试,但似乎没有任何作用。

我目前具有以下结构:

Project dir
|
- MyProject
- myApp
- tests
  |
  - __init.py__ 
  - test_forms.py
  - test_integration.py
  - test_models.py
  - test_views.py

以前,我将tests文件夹作为myAPp下的子文件夹,但是出现了相同的问题,即找不到测试:

python manage.py test --debug-mode
Creating test database for alias 'default'...
System check identified no issues (0 silenced).

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

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

目前,测试文件中几乎没有-我只想让它们开始运行!这是一个示例:

import unittest

class TestGeneric(unittest.TestCase):

    @unittest.skip('Skipping default nothing test for test_views')
    def test_bugger_all(self):
        self.fail("Shouldn't get here")

if __name__ == '__main__': 
    unittest.main()

如果我使用python -m test_views.py来运行它,那么它就可以正常工作,但是从项目根目录开始,python manage.py test根本不起作用。测试与.py文件一样被命名为test_ *。

如果相关,我正在运行virtualenv。

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

如果无法通过tests名称空间直接访问测试,则测试运行程序将不会发现您的测试。由于您有一个程序包,该程序包中包含测试模块,因此Django不会发现它们。

您需要在tests/__init__.py中导入文件。