質問

後ほど現在決定しているユ試験のためには、既存のコードです。っていないときは、次の問題:

実行後、syncdb作成の試験データベース、Django自動的に充填複数のテーブルのようなdjango_content_typeはauth_permissions.

その想いを実行する必要があ複雑な試験のようにチェックのユーザー登録が必要lof otデータテーブルを接続します。

ば私た既存のデータベースのための器具(いく暖かく、ぬくもりのある生活を私にとっても、エラーのように こちらの.こうなるので、Djangoが入力されていテーブルのようなdjango_content_type.

次に可能な方法は、django dumpdata--excludeのオプションのために優れていsyncdbます。これがうまくできないものになった場合にはユーザーやユーザオブジェクトからdbユーザーの権限テーブル、自動的に作成したsyncdb、私の受信誤りで、主キーの接続となり、現在このように差しが間違っている。このような こちらの 一部'具地獄"はさておき、液示がdoensn悪い)

ることが可能となり制度見は次:

  1. ん試験Djangoの作成の試験データベース、syncdbが作成されます。
  2. 私の試験設定のい落としこのデータベース"になり、新しい空のデータベースです。
  3. 負荷データのダンプカーから既存のデータベースまたは試験設定
役に立ちましたか?

解決

それは問題が解決した方法は次のとおりです。

syncdbの実行後に私は自分のコードからアクセスシェルにos.systemを使用するテストのセットアップ一部で、テスト・データベースを作成しました。その後、私はちょうど私がテスト用に使用するデータベースのダンプをロードしています。

このようなこの作品そう:syncdbの実行塗りつぶしたContentTypeとデータといくつかの他のテーブル。その後、SQLダンプをロードテストのセットアップ一部のすべての以前に作成したデータをクリアし、私は素敵なデータベースを取得します。

)=最善の解決策ではないこと、それが動作する可能性があります。

他のヒント

私のアプローチは、(すべてで助けていませんが、素敵です)簡単なDB移行を作るために最初に使用南になり、その後、モデル作成方法のモジュールを使用することになります。

あなたが実行すると、

  $  manage.py test my_proj
南と

DjangoはテストDBを作成し、あなたに完全に更新されたテスト用DBを与えるために、すべてのマイグレーションを実行してインストールします。

ここにあなたのオブジェクトを作成する関数を作成するには、

は、書き込みテストするには、最初のpythonモジュールのcalle、test_model_factory.pyを作成します。

def mk_user():
   User.objects.create(...)

次に、あなたのテストであなたのtest_model_factoryモジュールをインポートすることができ、それぞれのテストのためのオブジェクトを作成します。

  def test_something(self):
     test_user = test_model_factory.mk_user()

     self.assert(test_user ...)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top