問題タブ [fixtures]
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.
django - djangoユニットテストでのフィクスチャのロード
djangoの単体テストを書き始めようとしていますが、フィクスチャについていくつか質問があります。
プロジェクトデータベース全体(特定のアプリケーションではない)のフィクスチャを作成しました。特定のアプリのフィクスチャだけをロードするだけでは不十分なように見えるため、テストごとにロードしたいと思います。
フィクスチャをに保存したいのですが/proj_folder/fixtures/proj_fixture.json。
私はFIXTURE_DIRS = ('/fixtures/',)settings.pyでを設定しました。それから私のテストケースで私は試しています
しかし、私の器具はロードされません。これはどのように解決できますか?フィクスチャを検索する場所を追加するにはどうすればよいですか?一般に、各アプリの各テストのtest_db全体のフィクスチャをロードしても大丈夫ですか(非常に小さい場合)?ありがとう!
ruby-on-rails - Rails のテスト フィクスチャをテスト間で永続化するにはどうすればよいでしょうか?
私の Rails テスト スイートには、データベース内の静的なルックアップ テーブルを表すかなり大きなフィクスチャが 6 つほどあります。それらの値は理論的には変更されないため、各テスト間でテーブルをワイプして再ロードする時間を節約したいと思います。これらのフィクスチャを、すべてのテストを実行する前に一度だけロードする必要があり、それぞれの間でワイプしないように区別するためのトリック/プラグイン/gem/ハックはありますか?
django - いくつかの依存アプリケーションの問題に対する読み込みフィクスチャを使用した Django 単体テスト
現在、既存のコードの単体テストを作成しています。次の問題に直面しました。
テスト データベースを作成するために syncdb を実行した後、Django は django_content_type や auth_permissions などのいくつかのテーブルを自動的に埋めます。
次に、ユーザー登録の確認などの複雑なテストを実行する必要があるとします。これには、多数のデータ テーブルとそれらの間の接続が必要です。
フィクスチャを作成するために既存のデータベース全体を使用しようとすると (それは私にとってかなり便利です)、hereのようなエラーが表示されます。これは、Django が django_content_type のようなテーブルを既に埋めているために発生します。
次に考えられる方法は、django dumpdata --exclude オプションを使用して、すでに syncdb テーブルでいっぱいになっていることです。しかし、これもうまく機能しません。なぜなら、syncdb によって自動的に作成されたデータベースとユーザー権限テーブルからユーザー オブジェクトとユーザー グループ オブジェクトを取得すると、それらを接続する主キーが間違っているため、エラーを受け取る可能性があるからです。これは、ここの「フィクスチャ地獄」の部分でよりよく説明されていますが、そこに示されている解決策は見栄えがよくありません)
次に考えられるスキームは次のとおりです。
- テストを実行しています。Django はテスト データベースを作成し、syncdb を作成して、それらすべてのテーブルを作成します。
- 私のテスト セットアップでは、このデータベースを削除して、新しい空のデータベースを作成しています。
- テスト セットアップでも既存のデータベースからデータ ダンプを読み込む
ruby-on-rails - Rails 単体テストで、関連するプロファイルをロードするユーザー フィクスチャを取得するにはどうすればよいですか?
フィクスチャに関するドキュメント ( http://api.rubyonrails.org/classes/Fixtures.html ) では、関連付けにラベル参照を使用する次の例が提供されています。
したがって、彼らのリードに従って、私は has_one :profile を持つ User モデル、belongs_to :user である Profile モデルを持っており、彼らの例に従ってフィクスチャを設定しようとしました:
(注: 私の関連付けは一方向であるため、User フィクスチャには "profile: reginalds_profile" 関連付けがありません。SQL テーブルに profile_id 属性がないため、関連付けるとエラーが発生します。)
問題は、私の単体テストではすべてが正しく読み込まれているように見えますが、users(:reginald).profile は常に nil です。私は何が欠けていますか?
php - HTML を Doctrine YML フィクスチャに保存するにはどうすればよいですか
Symfony 1.4 (Doctrine 1.2) で CMS タイプのサイトを操作していますが、不満の 1 つは HTML ページを YML フィクスチャに保存できないことです。代わりに、ドロップして再構築したい場合は、データの SQL バックアップを作成する必要があります。これは、Symfony/Doctrine がまさにこれを行うための優れたメカニズムを備えている場合、ちょっと面倒です。
各ページの一連の HTML ファイルを読み取り、その方法でデータを入力するメカニズムを作成できます (または、タスクとして作成することもできます)。しかし、その道を進む前に、HTML を YML フィクスチャに格納して、Doctrine が単純にデータベースにインポートできるようにする方法があるかどうか疑問に思っています。
アップデート:
私は使用してみsymfony doctrine:data-dumpましsymfony doctrine:data-loadたが、ダンプが HTML でフィクスチャを正しく作成しているにもかかわらず、ロード タスクは HTML で列の値を「スキップ」しているように見え、他のすべてを行に入力します。データベースでは、フィールドは「NULL」として表示されず、むしろ空であるため、Doctrine は列の値を「」として追加していると思います。
以下は、作成した YML フィクスチャのサンプルですsymfony doctrine:data-dump。symfony doctrine:data-loadエスケープされたすべての文字 (改行と山括弧のみを残す引用符) を削除するなど、さまざまな形式に対して実行しようとしましたが、それでも機能しません。
ruby-on-rails - Ruby on Rails:テスト用の本番データベースデータへのアクセス
Ruby on Railsを使用して、本番データベースをRailsのテスト部分がアクセスできる形式にダンプする方法はありますか?
私は、本番データベースをフィクスチャに変換する方法、またはRailsによって定期的にクリアされない本番データベースからテストデータベースにデータを移行する方法のいずれかを考えています。
このデータをさまざまなテストに使用したいのですが、何よりもまず、実際のデータをパフォーマンステストで使用することで、ロード時間を現実的に理解できるようにしています。
ruby-on-rails - factory_girlでフィクスチャを使用する
次の工場を建設する場合:
ResumeType.firstnilを返し、エラーが発生します。
ResumeTypeレコードはフィクスチャを介してロードされます。コンソールを使用して確認しましたが、エントリがあり、テーブルは空ではありません。
私はfactory_girlメーリングリストで同様の例を見つけました、そしてそれはうまくいくはずです。
私は何が欠けていますか?テストを実行する前に、どういうわけかfactory_girlにフィクスチャを設定するように指示する必要がありますか?
これは私のtest_helperがどのように見えるかです:
django - Django: テキストフィクスチャの読み込みに失敗しました
プロジェクトのダンプデータを作成し、新しいテストでそれをフィクスチャに追加しました。
テストを実行すると、次のようになります。
フィクスチャ 'XXX/fixtures/test_data.json' のインストールに関する問題:
DoesNotExist: XXX に一致するクエリは存在しません。
ただし、手動で loaddata を実行しても、db が空の場合は正常に動作しません。私はdropdbを実行し、単純なsyncdbをcreatedbしてloaddataを試してみましたが、失敗し、同じエラーが発生しました。
どんな手掛かり?
Python バージョン 2.6.5、Django 1.1.1
junit - JUnit のベスト プラクティス: @Test ごとに異なるフィクスチャ
のフィクスチャを定義するために使用される@Beforeとがあることを理解しています。しかし、それぞれに異なるフィクスチャが必要な場合は、何を使用すればよいですか?@BeforeClass@Test@Test
- でフィクスチャを定義する必要があり
@Testますか? - それぞれのテストクラスを作成する必要があります
@Testか?
私の意見では、どちらのソリューションもクリーンではないため、ここでベスト プラクティスを求めています。最初の解決策では、初期化コードをテストします。2 番目の解決策では、「クラスごとに 1 つのテスト クラス」というパターンを破ります。