2017-09-24 13 views
0

これを実行する方法はありますか? DELETE文とUPDATE文を含むSQL要求をテストしたいが、変更をコミットしたくない。コミットせずにSQL DELETEとUPDATE文をテストする(JUnit)

+1

自動コミットをオフにして、あなたのUPDATEまたはDELETEと同じトランザクションでSELECTを実行しますか? –

+0

実際に何をテストする必要がありますか?コミットをスキップすると、(DBがサポートしている)遅延可能な制約で実装されているチェックも欠落します。通常、テストを実行する前にデータベース(専用テストDBまたはインメモリDB)をセットアップし、テストの実行後にDBをクリーンアップ/破棄するように、データアクセスをテストします。 –

+1

私に単体テストではなく、統合テストのように聞こえる – Catchwa

答えて

0

実際に使用しているRDBMSによって異なります。 Oracleでは、コミットを実行するまで何かをロールバックすることができます。トランザクショナルDBでは通常、トランザクションをオープンし、データを混乱させ、クローズまたはロールバックするオプションがあります。

ただし、データのスライスを含むテーブルのコピーを作成し、そこにすべて試してください。

PS:プロダクトを混乱させないでください! :)