問題タブ [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.

0 投票する
2 に答える
1196 参照

java - DBUnit でデータベースをテストするときにテーブルの既存の要素を無視する方法

データベースのテストに DBUnit を使用しています。私のデータベースは空ではないので、既存の要素を無視して、テストによって挿入されたデータだけをテストしたいのです。

これは、テストの実行方法の例です。

1- テーブルには 10 個の要素が含まれています

2- DBUnit はデータセットからいくつかのデータを挿入します (3 要素)

3- 私のテスト挿入データ (1 要素)

4-期待されるデータセットには、最初のデータセットで定義された3つの要素と、テストによって最近追加された要素である4つの要素が含まれています

5-したがって、実際のテーブルと期待されるテーブルが等しいとアサートすると、エラーが表示されます。これは、テーブルに既に要素が含まれているため、正常です。

質問は: assert でデータベースに存在する要素を無視する方法はありますか? データセットとテストによって挿入されたデータをテストしたいだけです。

これはコードです:

0 投票する
1 に答える
145 参照

constraints - DBUnit / 制約名による制約の識別

dbunit テストの実行中に何らかのデータベース制約が失敗すると、その名前が例外とともに出力されます。

resp である特定の制約を見つける可能性はありますか? 影響を受けるテーブルのどの列? 表示されている制約名は生成されたもののようです。

私はインターネット上でそれについて何も見つけることができなかったので、私がする唯一のことは、影響を受けるテーブルを調べて、どの制約があるかを確認し、データセットによって違反される可能性があるものを推測することです...

0 投票する
1 に答える
1337 参照

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 によってDefaultDataTypeFactoryTIMESTAMP データ型をサポートしないデフォルトに再設定されたため、データ型の問題は依然として存在していました。

0 投票する
1 に答える
271 参照

spring-boot - DBUnit エラー: NoSuchTableException

この例 ( https://github.com/21decemb/spring-boot-dbunit-example )に従って、データベース サービスの単体テストを作成しようとしました。データセットとテスト例を作成しました。テストを実行した後、受け取ったもの: org.dbunit.dataset.NoSuchTableException: orders

データセット.xml:

2 番目の注文行は、2 つの可能性をテストしていたためコメントされています。これが結合によるものであることはわかっています。「位置」と「顧客」(結合のない単純なエンティティ) のみをテストすると、正しく動作します。

私の「注文」エンティティ:

誰でもそれを修正する方法について何か考えがありますか?

前もって感謝します。