私はテストの実践を改善する作業を始めており、Yii FrameworkとRailsのFixturesの使用について読んでいます。私はフィクスチャの基本的な考え方を理解していますが、各テストの前に特定のデータセットを読み込むことはできますが、テスト前のデータベース状態がどうなるかはわかりません。これらのテストは本番環境では実行されませんが、いくつかのテストを実行するたびに拭きたくないデータが開発モデルに残っている可能性があります。あなたは、備品やユニットテストに関するこの背景知識を明確にする手助けをしてもらえますか?データベース/モデルのフィクスチャと元の状態
1
A
答えて
1
基本的に、CDbTestCaseから派生したテストクラスは、そのsetUp関数でフィクスチャをインポートしようとします。
あなた自身のクラスで$ fixtures変数を宣言しないと、あなたが持っているフィクスチャのセット全体がインポートされることに注目してください(テストをたくさんすると
事前に特定のデータが必要なテーブルがあり、テスト中に変更しない場合(たとえばProductsテーブルなど)、テーブルが存在することを確認するだけですデータベースとそれに対応するフィクスチャを作成しないでください。 Yiiはテーブルに触れず、期待どおりに使用できます。
1
デベロッパーの作業が開発環境(データベースymlファイルに設定されている)に当たる間、テストはテストデータベースに対して実行されます。テスト環境はそこにあり、実行中のアプリケーションを「テストする」ときに使用するデータに影響を与えずに、既知の状態にすることができます。
希望を少しクリアするのに役立ちます。
+2
基本的に:フィクスチャはDB内のデータを消去しますので、重要なデータを持たない特別なテストデータベースを指す別の/ configファイルからテストを実行してください! – thaddeusmt
関連する問題
- 1. componentWillReceiveProps状態が還元状態更新後のレンダリング状態と異なる
- 2. アプリケーションウィンドウの状態の保存と復元
- 3. .animate()と元の状態に戻る
- 4. iOS 6 - 状態の保存と復元
- 5. iOS CoreBluetooth:状態の保存と復元
- 6. ディープコピーSystem.Windows.Forms.WebBrowserオブジェクト/復元状態
- 7. プロトタイプを元の状態に戻す
- 8. iphone - アニメーションが元の状態に戻る
- 9. アンドロイドアニメーションを元の状態に戻す
- 10. iOS 6状態の保存と復元の自動テスト
- 11. フォームを元の状態に復元する
- 12. アプリケーション状態を復元する
- 13. Meteorアプリケーションのサーバー状態とユーザー、状態の作成方法は?
- 14. 同じ形状の2つの複雑な多次元配列の状態チェック
- 15. トランザクションのロールバック時のオブジェクト状態の復元
- 16. ライブデータとドラフトデータのデータベースモデル
- 17. Swing/Java3Dアプリケーションの状態ベースの元に戻す:AOPソリューション?
- 18. Androidのナビゲーションタブ:フラグメントビューの状態を復元する
- 19. nHibernate:オブジェクトの元の状態をリセットする
- 20. プロセスが終了した後の状態の復元
- 21. 私のOracle 10gの初期状態を復元するには?
- 22. すべてのXcode設定を元の状態に戻す
- 23. ASP.NETチェックボックスの状態とポストバック
- 24. ダッパーとその状態
- 25. セッション状態のタイムアウトとアイドルタイムアウト
- 26. Sharepointのマスターページとセッション状態
- 27. WPFとVSM - 状態のリスト?
- 28. モジュール性とフレックスビューの状態
- 29. ObjectStateManagerとDetachedエンティティの状態
- 30. cssのボタンと状態
Yiiは自動的にフィクスチャをロードするためのテーブルのテストコピーを作成するか、テスト中に進行中のポケテストデータがテスト全体にわたって持続するようにテストコピーを作成する必要がありますか? – jmans
オリジナルのテーブルをすべて保持するデータベースの複製を作成する必要はありません。次に、テスト用のデータベースを指すようにtest.php設定ファイルを変更します。フィクスチャを使用せずにテストを実行しないでください。そうしないと、通常のテーブルがクリアされます。 – Blizz