Oracleデータベースのメモリ内スタブとしてSQLiteを使用することを考えています。すべてのDALコマンドをSQLiteに簡単に送ることができますが、各テストメソッドのデータをどのように簡単に埋め込むべきかを今思っています。
各メソッドは、必要なテーブルを作成し、特定のテストの行を挿入することで開始する必要がありますか? Fixture SetUp段階でデータをメモリに取り込む必要がありますか?他の方法がありますか(いくつかのファイルから読み込むのと同じですが、次の読みが同じになるように変更を破棄します)?
おそらく、通常のスタブを使用してdbをスタブし、必要に応じてローカルに作成されたobejcts(DataSetsとDataTables)を返す必要がありますか?私はこれを試してみることを考えましたが、このようにして渡す実際のクエリをテストすることはなく、SQL selectを実行する単体テストメソッドにしようとしています。私はクエリの構文と妥当性もテストしたい。ユニットテストのためにメモリにSQLiteを入れる
これに関するベストプラクティスはありますか?それとも良いアイデアですか?
私はスタートデータを含むファイルを保持する必要があり、テストごとにそれをコピーしてsqliteで開くべきだと思いますか? 特定のクエリが1行または別の特定の値を返す理由が明白でないので、テストが判読不能になることが懸念されます。読者は常に入力ファイルを確認する必要があります。 それは問題ではありませんか? –
こんにちはノアム、もちろんそれはあなたが持っているテスト環境とあなたのニーズが何であるかによって異なります。 dbファイル全体を格納すると、複雑なテスト環境をコードですべて実装する必要がなくなります。より読みやすくするために、毎回ダンプファイルからdbファイルを作成することもできます。ダンプファイルは読みやすくなります。あなたが* all *コードでそれをしたいとき、それはそうです - あなたはコードですべて終わるでしょう。 – Juergen