1. ホーム
  2. python

[解決済み] Django の manage.py テストコマンドでどのテストが実行されたかを確認する方法

2023-03-01 03:26:18

質問

テストの実行が終了した後、Django の manage.py test コマンドを使ったテストの実行が終わると、合格したテストの数だけがコンソールに出力されます。

(virtualenv) G:\Project\>python manage.py test
Creating test database for alias 'default'...
True
..
----------------------------------------------------------------------
Ran 2 tests in 0.017s

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

見る方法はないでしょうか。

  1. どのテストが実際に実行されたか
  2. どのモジュールから
  3. どのような順序で

ドキュメントに解決策が載っていません。

どのように解決するのですか?

以下のように -v 2test コマンドに変換します。

python manage.py test -v 2

このコマンドを実行すると、次のようなものが得られます (私は django 2 を使っています。移行やデータベースに関することは無視してください)。

Creating test database for alias 'default' ('file:memorydb_default?mode=memory&cache=shared')...
Operations to perform:
  Synchronize unmigrated apps: messages, staticfiles
  Apply all migrations: admin, auth, contenttypes, sessions
Synchronizing apps without migrations:
  Creating tables...
   Running deferred SQL...
Running migrations:
  Applying contenttypes.0001_initial... OK
  ...
  Applying sessions.0001_initial... OK
System check identified no issues (0 silenced).
test_equal_hard (polls.tests.TestHard) ... ok      <--------+
test_equal_simple (polls.tests.TestSimple) ... ok  <--------+
                                                            |
                                                            |
           That's your tests!  >----------------------------+

ちなみに v は冗長性を表します。 --verbosity=2 ):

python manage.py test --verbosity=2

以下は python manage.py test --help :

-v {0,1,2,3}, --verbosity {0,1,2,3}.

冗長度レベル; 0=最小限の出力、1=通常の出力。 2=冗長な出力, 3=非常に冗長な出力