私は次のdjangoプロジェクトをセットアップしています:
>TopLevel:
> - App1:
> * models.py
> * forms.py
> * views.py
> * __init__.py
> * Tests/
> * __init__.py
> * test_simple.py
test_simple.pyのコードは次のとおりです。
from django.test import TestCase
class SimpleTest(TestCase):
def test_basic_addition(self):
"""
Tests that 1 + 1 always equals 2.
"""
self.assertEqual(1 + 1, 2)
今、私が実行すると:
> python manage.py test app1
次の出力が得られます。
>Creating test database for alias 'default'...
>
>----------------------------------------------------------------------
>Ran 0 tests in 0.000s
>
>OK
>Destroying test database for alias 'default'...
しかし、代わりに次のプロジェクト構造を使用すると、次のようになります。
>TopLevel:
> - App1:
> * models.py
> * forms.py
> * views.py
> * __init__.py
> * tests.py
tests.pyのコードは次のとおりです。
from django.test import TestCase
class SimpleTest(TestCase):
def test_basic_addition(self):
"""
Tests that 1 + 1 always equals 2.
"""
self.assertEqual(1 + 1, 2)
今、私が実行すると:
> python manage.py test app1
私は得る:
>Creating test database for alias 'default'...
>.
>----------------------------------------------------------------------
>Ran 1 test in 0.002s
>
>OK
>Destroying test database for alias 'default'...
Djangoが私のTestsディレクトリを認識しないのはなぜですか&& Tests内にリストされているテストがDjangoのunittest構造によって取得されて実行されないのはなぜですか?
よく眠り、テストの発見についても考えないための1つのオプションは、鼻を使用することです。それは多くの機能を持っています、それの1つは自動テスト発見です。
djangoプロジェクトをnoseと統合するのに役立つdjango_noseというパッケージがあります。
特徴
Djangoテストでの鼻の良さはすべて...
- ..。
- すべてのテストをにインポートする必要がなくなります
tests/__init__.py
。これにより、忙しい作業を節約できるだけでなく、テストクラスを誤ってシャドウイングする可能性も排除されます。- ..。
それがお役に立てば幸いです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加