googletestフレームワークに、テストが失敗した後でもデータをクリアできるメカニズムがありますか(コードは例外をスローし、テストが失敗した場合には。データベースからデータを削除するC++ルーチン
ありがとう!
googletestフレームワークに、テストが失敗した後でもデータをクリアできるメカニズムがありますか(コードは例外をスローし、テストが失敗した場合には。データベースからデータを削除するC++ルーチン
ありがとう!
SQLiteのは、単一のファイルから動作するため、あなたはどこにあらかじめ設定されたデータベースファイルをコピーするために、テスト・フィクスチャでSetUp()
を使用することができますプログラムは、データベースが「ランタイム」データベースファイルを上書きすることを期待しています。すべてのテストの前にの前にを事前に設定してください。
このようにして、すべてのテストで完全に新しいデータベースが得られます。データベース作成スクリプトを実行せずに、すべてのテーブルで初期化し、必要に応じて基本データを初期化します。それはテストのスピードを速く保ちます。
ありがとう!テストケースが実行を完了した後にteardown()が呼び出されることを読んでいます。テストケースが失敗しても呼び出されますか?それとも、次のテストに進むだけですか? – user1065969
@ user1065969テストケースがテストランナーをクラッシュさせない限り、TearDownを呼び出す必要があります。問題は、あなたがテストでメモリ破損を引き起こした場合、あなたが "間違った"メモリを上書きした場合、TearDownも失敗することです: -/ –
本当にありがとうJoa ..本当に役に立ちました! – user1065969
を実行し、一時、in-memory databaseのテスト。
ありがとうlarsmans。しかし、私は現在、sqliteデータベースの単体テストの作成に取り組んでいます。 – user1065969
@ user1065969:メモリ内コピーでテストを実行できますか? –
はい私はできるです – user1065969
あなたはどのテストランナーを使用していますか? –
私はgoogletestを使用しています – user1065969