問題タブ [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.

0 投票する
2 に答える
4350 参照

ruby-on-rails - フィクスチャはモデルのコールバックをトリガーしますか?

User.rb に次のコードを持つ User モデルがあるとします。

また、多数のユーザー フィクスチャが定義された users.yml ファイルもあります。

rake db:fixtures:load を実行すると、コールバックがトリガーされないようです。

  1. これはどのように機能することが期待されていますか?もしそうなら、なぜ彼らはこのように設計したのですか?
  2. フィクスチャをロードするときにコールバックのトリガーを強制する方法はありますか?
0 投票する
2 に答える
662 参照

ruby-on-rails - Rails2.0のフィクスチャの外部キー

Railsのフィクスチャに問題があります。

メッセージとユーザーの2つのモデルがあります。ユーザーモデルは、RESTful認証から生成されます。メッセージには、送信者と受信者があり、どちらもユーザーです。

フィクスチャを使用しない場合、すべてが正常に機能します。しかし、私がそれらを器具で使おうとすると、両方ともゼロです。

これはメッセージフィクスチャファイルです。

quentinとaaronは、RESTful認証によって生成されたユーザーフィクスチャです。

そこで生成されたIDを使用する方法はありますか、それとも別の方法で使用する必要がありますか?

0 投票する
5 に答える
11127 参照

unit-testing - 単体テスト:セットアップメソッドにアサーションを含めるのは良い習慣ですか?

単体テストでは、セットアップメソッドを使用してテストに必要なオブジェクトを作成します。

これらのセットアップメソッドでは、アサーションを使用するのが好きです。これらのオブジェクトに表示する値を知っており、アサーションを介してその知識を文書化するのが好きです。

スタックオーバーフローで他のユニットテストを呼び出すユニットテストに関する最近の投稿では、ユニットテストは他のテストを呼び出すべきではないという一般的な感覚があります:その質問への答えは、テストケースが行うようにセットアップをリファクタリングする必要があるようですお互いに依存していません。

ただし、「assertsを使用したセットアップ」と他の単体テストを呼び出す単体テストには大きな違いはありません。

したがって、私の質問:セットアップメソッドにアサーションを含めるのは良い習慣ですか?

編集:

答えは次のようになります。これは一般的には良い習慣ではありません。セットアップ結果をテストする必要がある場合は、アサーションを使用して別のテストメソッドを追加することをお勧めします(私がチェックした答え)。意図を文書化するために、Javaアサートの使用を検討してください。

0 投票する
1 に答える
5464 参照

django - django フィクスチャ: フィクスチャ ファイルを追加する場所

django アプリケーションをカバーする一連のテスト ケースを作成しようとしています。テストの一部を実行するには、定義済みのデータベース データが必要です。そこで、フィクスチャを使用することにしました。

私がしたことは次のとおりです: 1) フィクスチャ ファイルを作成しました: oleg$ python manage.py dumpdata goserver > Fixture1.json 2) アプリケーションが存在するディレクトリにフィクスチャを配置しました oleg$ cp Fixture1.json goserver/ 3) テクスチャ名を書き留めます私のアプリケーションのテストファイル

4) 次のコマンドでテキスト ケースを実行します: oleg$ python manage.py test --verbosity=2 goserver

テスト実行の出力は (その一部) です。

'/Users/oleg/jin/goclub/trunk/jin/../jin/register/fixtures' で xml フィクスチャ 'initial_data' を試しています... '/Users/oleg/jin/goclub/ に xml フィクスチャ 'initial_data' がありませんトランク/ジン/../ジン/レジスタ/備品'. json フィクスチャ 'initial_data' の '/Users/oleg/jin/goclub/trunk/jin/../jin/register/fixtures' を試しています... '/Users/oleg/jin/goclub/ に json フィクスチャ 'initial_data' がありませんトランク/ジン/../ジン/レジスタ/備品'. '/Users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures' のフィクスチャをチェックしています... '/Users/oleg/jin/goclub/trunk/jin/../jin/captcha を試していますxml フィクスチャ 'initial_data' の /fixtures'... '/Users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures' に xml フィクスチャ 'initial_data' がありません。'/Users/oleg/jin/goclub/trunk/jin/.. を試しています。json フィクスチャ 'initial_data' の /jin/captcha/fixtures'... '/Users/oleg/jin/goclub/trunk/jin/../jin/captcha/fixtures' に json フィクスチャ 'initial_data' がありません。「/Users/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures」でフィクスチャを確認しています...「/Users/oleg/jin/goclub/trunk/jin/../jin/goserver」を試していますxml フィクスチャ 'initial_data' の /fixtures'... '/Users/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures' に xml フィクスチャ 'initial_data' がありません。json フィクスチャ 'initial_data' の '/Users/oleg/jin/goclub/trunk/jin/../jin/goserver/fixtures' を試しています... '/Users/oleg/jin/goclub/ に json フィクスチャ 'initial_data' がありませんトランク/ジン/../ジン/goserver/フィクスチャ'. フィクスチャの '/' をチェックしています... xml フィクスチャ 'initial_data' の '/' を試行しています... '/' に xml フィクスチャ 'initial_data' がありません。json フィクスチャ 'initial_data' の '/' を試行しています... '/' に json フィクスチャ 'initial_data' がありません。フィクスチャの 'U' をチェックしています... xml フィクスチャ 'initial_data' の 'U' を試行しています... 'U' に xml フィクスチャ 'initial_data' がありません。json フィクスチャ 'initial_data' の 'U' を試行しています... 'U' に json フィクスチャ 'initial_data' がありません。フィクスチャの 's' をチェックしています... xml フィクスチャ 'initial_data' の 's' を試行しています... 's' に xml フィクスチャ 'initial_data' がありません。JSONフィクスチャ「initial_data」の「s」を試しています.. フィクスチャの 'U' をチェックしています... xml フィクスチャ 'initial_data' の 'U' を試行しています... 'U' に xml フィクスチャ 'initial_data' がありません。json フィクスチャ 'initial_data' の 'U' を試行しています... 'U' に json フィクスチャ 'initial_data' がありません。フィクスチャの 's' をチェックしています... xml フィクスチャ 'initial_data' の 's' を試行しています... 's' に xml フィクスチャ 'initial_data' がありません。JSONフィクスチャ「initial_data」の「s」を試しています.. フィクスチャの 'U' をチェックしています... xml フィクスチャ 'initial_data' の 'U' を試行しています... 'U' に xml フィクスチャ 'initial_data' がありません。json フィクスチャ 'initial_data' の 'U' を試行しています... 'U' に json フィクスチャ 'initial_data' がありません。フィクスチャの 's' をチェックしています... xml フィクスチャ 'initial_data' の 's' を試行しています... 's' に xml フィクスチャ 'initial_data' がありません。JSONフィクスチャ「initial_data」の「s」を試しています.. xml フィクスチャ 'initial_data' の場合... 's' に xml フィクスチャ 'initial_data' がありません。JSONフィクスチャ「initial_data」の「s」を試しています.. xml フィクスチャ 'initial_data' の場合... 's' に xml フィクスチャ 'initial_data' がありません。JSONフィクスチャ「initial_data」の「s」を試しています..

実際の問題は、フィクスチャがまったく見つからなかったため、テスト データベースに追加したかったデータが追加されなかったことです。問題を解決する方法を教えてください

私はそれを行う新しい方法を試みました。完全なデータベースのダンプを作成し、アプリケーション フォルダーに配置しました。

しかし、いくつかのエンコーディングの問題に遭遇しました。

エラー応答を確認してください:

ファイル "build/bdist.macosx-10.3-i386/egg/MySQLdb/cursors.py"、168 行目、実行中の場合は self._defer_warnings: self._warning_check() ファイル "build/bdist.macosx-10.3-i386/egg /MySQLdb/cursors.py"、82 行目、_warning_check warn(w[-1], self.Warning, 3) ファイル "/opt/local/lib/python2.5/warnings.py"、62 行目、warn globals) ファイル "/opt/local/lib/python2.5/warnings.py"、102 行目、warn_explicit で警告メッセージが発生: 列の文字列値が正しくありません: '\xD0\x9D\xD0\xB0 \xD0...'行 1 の「object_repr」

testUserIsAdded (jin.goserver.tests.GoserverTestCase) ... ユーザー []

別の問題があります。フィクスチャを無効にすると、まだエラーが発生します。

単体テスト コード カバレッジの結果

トレースバック (最新の呼び出しが最後): ファイル "manage.py"、11 行目、execute_manager(settings) ファイル "/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5. Egg /django/core/management/ init .py」、execute_manager utility.execute() ファイルの 340 行目「/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5. Egg /django/core/management/ init .py」、295 行目、実行中の self.fetch_command(subcommand).run_from_argv(self.argv) ファイル「/opt/local/lib/python2.5/site-packages/Django- 1.0.2_final-py2.5.egg/django/core/management/base.py"、192 行目、run_from_argv self.execute(*args, ** options.dict) ファイル "/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/core/management/base.py"、219 行目、実行中の output = self. handle(*args, **options) ファイル "/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/core/management/commands/test.py" 、33 行目、ハンドル障害 = test_runner(test_labels、verbosity=verbosity、interactive=interactive) ファイル "/opt/local/lib/python2.5/site-packages/django_test_coverage-0.1-py2.5.egg/django-test -coverage/runner.py"、58 行目、run_tests modules.extend(_package_modules(*pkg)) ファイル "/opt/local/lib/python2.5/site-packages/django_test_coverage-0.1-py2.5.egg/ django-test-coverage/runner.py"、92 行目、_package_modules modules.append( import(impstr + '.' + name, {}, {}, [''])) ファイル "/Users/oleg/jin/goclub/trunk/jin/goserver/admin.py"、11 行目、admin.site .register(ActiveList, ActiveListAdmin) ファイル "/opt/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/contrib/admin/sites.py"、64 行目、 in register raise AlreadyRegistered('The model %s is already registered' % model. name ) django.contrib.admin.sites.AlreadyRegistered: モデル ActiveList は既に登録されています

0 投票する
2 に答える
421 参照

ruby-on-rails - フィクスチャ用のRailsバッチオブジェクト作成?

has_many :through リレーションを持つレコードの大きなリスト (20 程度、それ以上になる可能性もあります) がありますが、これは少し複雑で、yml では醜く見えます。Factory_girl は、AR ベースのスクリプトを使用してフィクスチャを作成する単純な機能を私に与えてくれないようです (その方法ははるかに短いです)。

0 投票する
2 に答える
1141 参照

ruby-on-rails - Railsのテストでフィクスチャを更新可能にする方法は?

以下に、単純な Rails アプリケーションのコードをいくつか示します。以下にリストされているテストは最後の行で失敗します。これは、このテストの PostController の update アクション内で投稿のupdated_atフィールドが変更されていないためです。なんで?

標準のタイムスタンプが Post モデルに含まれているため、この動作は少し奇妙に思えます。ローカル サーバーでのライブ テストでは、更新アクションから戻った後にこのフィールドが実際に更新され、最初のアサーションが満たされているため、更新アクションが正常に行われたことが示されます。

上記の意味でフィクスチャを更新可能にするにはどうすればよいですか?

0 投票する
2 に答える
394 参照

ruby-on-rails - Ruby on rails: create_fixtures メモリの問題

約 10 万件のレコードを作成する必要があります。これらのレコードは csv ファイルにあり、create_fixtures 関数を使用してロードされています。私の開発マシンでは遅いですが、完了します。問題は、プロセスごとにメモリ制限がある本番環境で始まり、rake プロセスが強制終了されます。create_fixtures がすべてのデータをメモリにインポートしているためだと思います。小さなチャンクを強制的にインポートする方法を知っている人はいますか(1つの大きなcsvをいくつかの小さなcsvにカットする前に)。

0 投票する
3 に答える
2434 参照

ruby-on-rails - Rails でフィクスチャを Factory Girl に変換する

フィクスチャを Rails の "Factory Girl" に移行したいと考えています。

factory.rb ファイル内のすべての yml ファイルを変換する簡単な方法はありますか?

0 投票する
2 に答える
1314 参照

ruby-on-rails - Rails で空または nil のフィクスチャを指定する

私はffを持っています。生成する ID にのみ使用する ActiveRecord:

次の方法でフィクスチャを指定できると思いました。

私は他の備品で次のように呼んでいます:

しかし、テストを実行すると、次のようになります。

空のフィクスチャまたは nil フィクスチャを指定する方法を知っている人はいますか? これが不可能な場合は、回避策または代替ソリューションのいずれかが受け入れられます。

0 投票する
1 に答える
5249 参照

django - Djangoフィクスチャがloaddataでロードされない

json フィクスチャを作成し、myapp/fixtures/ に配置しました。myapp/fixtures を settings.FIXTURE_DIRS に追加しました。フィクスチャをロードしようとした出力は次のとおりです。

default.json の内容は次のとおりです: [ { "pk": 1, "model": "myapp.feature", "fields": { "default_feature": "0.25" } } ]

ここで明らかな何かが欠けていますか?FIXTURE_DIRS をフィクスチャとフィクスチャ/同じ結果の両方として試しました。

ありがとう。