問題タブ [factory-boy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - TestCase内にROLLBACKがない場合、マルチデータベースdjangoアプリで固有の制約違反が発生します
テストファクトリ用のfactory_boydjangoライブラリを使い始めたばかりで、重複キー制約違反の問題が発生しています。
test_member_programme.py
factorys.py
最初のテストを実行すると成功しますが、2番目のテストは次のエラーで失敗します。
私の理解では、すべてのTestCaseはトランザクション内で実行する必要がありますが、2番目のテストが実行される前に外部キーの作成がロールバックされたようには見えません。明らかに私は根本的に間違ったことをしているのですが、少し困惑しています!ありがとう!
問題を突き止めましたが、残念ながら解決方法がわかりません。問題は、ロールバックが発生しているが、1つのデータベースでのみ発生していることです(このアプリには2つのデータベースがあります)。従来の理由から、django auth、flatpagesなど用に別のデータベースがあり、アプリ用に別のデータベースがあります。
ここで同様の問題を抱えている人。
python - Factory Boy のオブジェクト ファクトリのモデル @property を書き換える
Factory Boy で自分のコードを適切にテストする方法を見つけたいです。
次のようなモデルがあります。
このモデルの工場があります:
誰でもそれで私を助けることができますか?factory boy のドキュメントでこれについての言及が見つかりませんでした。私が試したさまざまなバリアントは機能しないようです。
python - 各テストの前に LiveServerTestCase が setUp() を呼び出さないようにする
LiveServerTestCase を使用して django アプリをテストする際に 1 つの問題があります。LiveServerTestCase は、各テストを実行する前に setUp() 関数を実行します。しかし、テスト用のオブジェクト (ユーザー、アイテムなど) を作成するために factory-boy のファクトリを使用しています。そして、各テストを実行する前に同じオブジェクトが作成されます。このオブジェクトを 1 回作成し、データベース内のこのオブジェクトを確認するためにすべてのテストを行うにはどうすればよいですか?
python - factory_boy を使用して MongoEngine EmbeddedDocument をモデル化するにはどうすればよいですか?
factory_boy を使用して、テスト用の MongoEngine ドキュメントを生成しようとしています。オブジェクトの定義に問題がありEmbeddedDocumentField
ます。
これが私のMongoEngineDocument
です:
これが私の部分的に完成した factory_boyFactory
です:
comments
フィールドを指定する方法はありますか? Comment
問題は、factory-boy がEmbeddedDocumentを作成しようとすることです。
unit-testing - factory_boy の多対多の関係?
factory_boy を使用して、2 つの Django モデル間の多対多の関係をテストしようとしています。factory_boy のドキュメントはこれについて議論していないようで、何が間違っているのかを理解するのに苦労しています。最初のテストを実行すると、「AttributeError: 'Pizza' object has no attribute 'topping'」というエラーが表示されます。2 番目のテストでも同様のエラーが発生します。
デバッガーでテストを実行すると、「トッピング」オブジェクトが表示されますが、そこから名前を取得する方法がわかりません。PizzaFactory の _prepare メソッドを正しく定義しましたか? 多対多の関係がある場合、あるテーブルの名前に他のテーブルからどのようにアクセスしますか?
ありがとう。
models.py:
factory.py:
tests.py
python - where is FACTORY_FOR in a factory boy django factory?
I am using Factory Boy in a Django project and I need to access class properties, defined in the class, in the corresponding factory.
My test case has something along the lines of:
My class, as you may guess, has the corresponding constant in the right spot.
and the corresponding factory is defined as it should be
The test case fails saying that FACTORY_FOR
is not there. So, I think the metaclass is hidding that somewhere. Ideally, I would like to minimise the need to import the model directly if I am using the factory.
python - 外部キーを使用して複数のオブジェクトを作成する
10人のサンプルユーザー(User
)を作成する必要があり、各ユーザーには50個のドキュメント(Doc
)が必要です。factoryboyを使用してtests.pyでこれを行う方法は?
私のtests.pyで:
python - Django モデルの属性を動的に変更する
循環依存関係factory_boy: 循環依存関係を持つアプリのfactory_boyを使用して、django アプリのフィクスチャを作成しようとしています。
モデル:
工場:
これらのファクトリを使用して factory_boy スクリプトを実行すると、ValueError: Cannot assign None: "C.a" does not allow null values
エラーが発生しますが、これは正常なC.a
設定null=False
です。
factory_boy スクリプトをロードしC
、変更C.a
して設定し、実行することはできますか?null=True
いくつかのポイント:
- それが醜いことはわかっていますが、他に選択肢がないようです。ただし、フィクスチャを作成するために内部的にのみ使用されます。
- これらのクラスがコアの一部である既に実行中のアプリであるため、モデルを変更できません。
python - 不明なパスワード ハッシュ アルゴリズム。PASSWORD_HASHERS 設定 - factory boy を使用
テスト用のサンプル ユーザー アカウントを作成すると、次のエラーが発生します。
不明なパスワード ハッシュ アルゴリズム 'password1'。PASSWORD_HASHERS の設定で指定しましたか?
factory.py:
修正方法は?
編集:
解決:
python - Django factory_boy ファクトリに開始シーケンス番号を渡す方法は?
factory_boy のデフォルト1
はシーケンス用です。代わりに別の開始番号として使用する番号を渡すにはどうすればよいですか? メソッドをサブクラス化することは_setup_next_sequence()
できますが、使用する変数を与えるにはどうすればよいでしょうか?
factory_boy 1.2.0 (経由pip install factory_boy
)
factory_boy コードを使用しています: https://github.com/dnerdy/factory_boy