0

柑橘類の経験のある人がいるといいのですが:) Oracle dbに対する柑橘類(1.4および2.3)のDBテストを作成しました。シトラスでは、クエリを文字列として渡すか、ファイル リソースを参照して渡すことができます。

String オプションは正常に機能し、検証は成功します。

oracle.jdbc.pool.OracleDataSource ds = new oracle.jdbc.pool.OracleDataSource();
//init ds ...
query(ds).statement("SELECT * FROM TOUR WHERE ID = 12345").validate("STATUS", "1");

ただし、Resource オプションは失敗します。

oracle.jdbc.pool.OracleDataSource ds = new oracle.jdbc.pool.OracleDataSource();
//init ds ...
query(ds).sqlResource("classpath:testdata/template/dbQuery.sql").validate("STATUS", "1");

コードをデバッグすると、Citrus は sqlResource ファイル内のすべてのステートメントが「;」で区切られていることを期待していることがわかりました。次に、個別のステートメントを正しく作成し、それらを実行しようとします。ただし、「;」で終わるステートメントを実行する 「SQLSyntaxErrorException: ORA00911: 無効な文字」という結果になります。

ここで何か不足していますか?

4

1 に答える 1

0

これはバグであると考えてください。問題が開かれています ( https://github.com/christohd/citrus/issues/79 )

問題は Citrus の 2.5.2 リリースで修正されました

于 2016-03-03T11:37:37.917 に答える