2016-09-19 14 views
0

GoogleのAPIテストでは、Citrus Integrationフレームワークを使用し始めました。私はOracleデータベースでSQL INSERTクエリを実行しようとしています。INSERTステートメントはCitrus Integrationフレームワークでは機能しません

selectキーワードを持つSQLを実行するとうまく動作しますが、データを挿入する場合は、以下のようにnullポインタexception.stackトレースがスローされます。いくつか助言してもらえますか?

com.consol.citrus.exceptions.TestCaseFailedException:com.consol.citrus.exceptions.CitrusRuntimeException:テストケースはによって引き起こさ

at com.consol.citrus.TestCase.executeAction(TestCase.java:221) 
at com.consol.citrus.dsl.runner.DefaultTestRunner.run(DefaultTestRunner.java:189) 
at com.consol.citrus.dsl.runner.DefaultTestRunner.query(DefaultTestRunner.java:249) 
at com.consol.citrus.dsl.testng.TestNGCitrusTestRunner.query(TestNGCitrusTestRunner.java:170) 
at com.consol.citrus.samples.DomainAPITest.sqlPMTest(DomainAPITest.java:37) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:216) 
at com.consol.citrus.dsl.testng.TestNGCitrusTest.invokeTestMethod(TestNGCitrusTest.java:130) 
at com.consol.citrus.dsl.testng.TestNGCitrusTest.run(TestNGCitrusTest.java:100) 
at com.consol.citrus.dsl.testng.TestNGCitrusTest.run(TestNGCitrusTest.java:58) 
at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:208) 
at org.testng.internal.Invoker.invokeMethod(Invoker.java:635) 
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816) 
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124) 
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) 
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) 
at org.testng.TestRunner.privateRun(TestRunner.java:774) 
at org.testng.TestRunner.run(TestRunner.java:624) 
at org.testng.SuiteRunner.runTest(SuiteRunner.java:359) 
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354) 
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312) 
at org.testng.SuiteRunner.run(SuiteRunner.java:261) 
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) 
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215) 
at org.testng.TestNG.runSuitesLocally(TestNG.java:1140) 
at org.testng.TestNG.run(TestNG.java:1048) 
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72) 
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:124) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:498) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) 

を失敗したキーワードでSELECTステートメントがありません:INSERT INTO CN_RATE_EXHIBIT(ID、RATE_EXHIBIT_CODEを、 'Citrus_Inte_RE_CodeDSL'、 'C​​itrus_Inte_RE_CodeDSL'、null、 'Y'、to_date('01 -JUN-16 '、' DSL、DSL、 ('01 -JAN-4000 '、' DD-MON-RR ')、' O ') com.consol.citrus.actions.ExecuteSQLQueryAction.validateSqlStatement(ExecuteSQLQueryAction.java:266)で、 ) at com.consol.citru com.consol.citrus.actions.AbstractDatabaseConnectingTestAction.execute(AbstractDatabaseConnectingTestAction.java:62) at com.consol.citrus.TestCase.executeAction(TestCase.java: 214)

答えて

0

スタックトレース情報は、CitrusがSQLクエリ(SELECT)としてINSERT文を処理しようとしていることを示しています。これは、1つのSQLテスト・アクションでINSERT文とSELECT文を混在させる場合に発生します。

INSERT、UPDATE、DELETEなどの他のすべてのステートメントからクエリステートメント(SELECT)を分離してください。テストでは別々のテストアクションを使用してください。また、SELECT以外のステートメントを使用する場合は、SQLテスト・アクションで検証式を使用することはできません。

Citrusでは、SELECTステートメントを他の方法とは異なる方法で処理します。

関連する問題