2

だから私はここのサイトの指示に従いました:

https://docs.djangoproject.com/en/1.5/topics/testing/overview/

しかし、私を混乱させるのは、実行時のテストの範囲を説明する部分です。それは言います:

デフォルトでは、INSTALLED_APPS 内のすべてのアプリケーションですべてのテストが実行されます。特定のアプリケーションのテストのみを実行する場合は、アプリケーション名をコマンド ラインに追加します。

たとえば、INSTALLED_APPS に「myproject.polls」と「myproject.animals」が含まれている場合、次のコマンドで myproject.animals 単体テストを実行できます。

私を混乱させるのは、サイトのディレクトリ構造が次のようにレイアウトされていることです

myproject/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        views.py
        models.py
        wsgi.py

だから私は本当に小さなアプリを持っていません。私は基本的に、サイトである1つの大きなアプリを持っています. 私の INSTALLED_APPS 変数には多くのアプリがありますが、mysite でテストを実行したいだけです。どうすればそれを行うことができますか?

または、私はしなければなりません:

サイト全体を独自のアプリに移動し、このようなディレクトリ構造をレイアウトして、そのアプリを INSTALLED_APPS に追加します

myproject/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

    mysiteapp/
        views.py
        models.py

また、一般的に、それは私の django プロジェクトにとってより良い構造でしょうか?

4

1 に答える 1

1

Django テスト スイートは基本的に、1 つの大きなサイトをそのままテストします。

また、小さなアプリの集合体として Django サイトを構築する人もいます。認証用のサブアプリ、要件が異なる特定の機能用のサブアプリ、または過去のプロジェクトの一部を再利用できるように多数のコンポーネントを接続したものなどです。

そのような場合、誰かがそれらのコンポーネントの 1 つだけをテストし、すべてをテストしたくないかもしれません。たとえば、作業中のサイトがあり、過去のプロジェクトからアプリを追加してすべてが壊れた場合、そのアプリに集中してテストする必要があります。これが警告の内容です。つまり、サブアプリのみをテストする場合は、それを指定する必要があります。

あなたの場合、アプリを 1 つしか使用していないため、すべてをテストするとうまくいきます。

HTH

于 2013-11-14T23:55:10.623 に答える