問題タブ [spring-test-dbunit]
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.
java - DBUnit でデータベースをテストするときにテーブルの既存の要素を無視する方法
データベースのテストに DBUnit を使用しています。私のデータベースは空ではないので、既存の要素を無視して、テストによって挿入されたデータだけをテストしたいのです。
これは、テストの実行方法の例です。
1- テーブルには 10 個の要素が含まれています
2- DBUnit はデータセットからいくつかのデータを挿入します (3 要素)
3- 私のテスト挿入データ (1 要素)
4-期待されるデータセットには、最初のデータセットで定義された3つの要素と、テストによって最近追加された要素である4つの要素が含まれています
5-したがって、実際のテーブルと期待されるテーブルが等しいとアサートすると、エラーが表示されます。これは、テーブルに既に要素が含まれているため、正常です。
質問は: assert でデータベースに存在する要素を無視する方法はありますか? データセットとテストによって挿入されたデータをテストしたいだけです。
これはコードです:
constraints - DBUnit / 制約名による制約の識別
dbunit テストの実行中に何らかのデータベース制約が失敗すると、その名前が例外とともに出力されます。
resp である特定の制約を見つける可能性はありますか? 影響を受けるテーブルのどの列? 表示されている制約名は生成されたもののようです。
私はインターネット上でそれについて何も見つけることができなかったので、私がする唯一のことは、影響を受けるテーブルを調べて、どの制約があるかを確認し、データセットによって違反される可能性があるものを推測することです...
oracle - Dbunit FlatXmlDataSet を使用して Oracle TIMESTAMP WITH ZONE フィールドを設定する方法
TIMESTAMP(6) WITH TIME ZONE
次のようなタイプの列を持つテーブルにデータを入力して、DB 単体テスト用のデータをセットアップしようとしています。
しかし、テストを実行すると、次の例外が引き続き発生します。
タイムゾーンサフィックス +XX:XX2015-03-01 10.00.00.000000000 +00.00
を追加するなど、タイムスタンプフィールドにさまざまな形式を試しましたが、役に立ちませんでした。また、VM 引数を使用してテストを実行しようとしました-Duser.timezone=UTC
が、どちらも役に立ちませんでした。
これを達成する方法を知っている人はいますか?
編集1
コンソールに次の警告が表示されました。
したがって、Dbunit はデータ型をサポートしておらず、無視しているように見えるTIMESTAMP WITH TIME ZONE
ため、NoSuchColumnException
例外が発生します
編集2
実際、dbunit はすでにクラスTIMESTAMP
を通じてデータ型をサポートしています。OracleDataTypeFactory
構成は次のようになります。
残念ながら、これらの設定変更後も、dbunit DatabaseConfig.datatypeFactory プロパティが DbUnitTestExecutionListener によってDefaultDataTypeFactory
TIMESTAMP データ型をサポートしないデフォルトに再設定されたため、データ型の問題は依然として存在していました。
spring-boot - DBUnit エラー: NoSuchTableException
この例 ( https://github.com/21decemb/spring-boot-dbunit-example )に従って、データベース サービスの単体テストを作成しようとしました。データセットとテスト例を作成しました。テストを実行した後、受け取ったもの: org.dbunit.dataset.NoSuchTableException: orders
データセット.xml:
2 番目の注文行は、2 つの可能性をテストしていたためコメントされています。これが結合によるものであることはわかっています。「位置」と「顧客」(結合のない単純なエンティティ) のみをテストすると、正しく動作します。
私の「注文」エンティティ:
誰でもそれを修正する方法について何か考えがありますか?
前もって感謝します。