2016-05-11 9 views
-3

@Test(dataProvider = "FileDataProvider2") public void testModifiedFiles(String excelData2, String csvData)throws Exception { try{ List<List<String>> excelList2 = ReadFromFile.readexcelFile(excelData2); List<List<String>> csvList1 = ReadFromFile.readCSVFile(csvData); logger.info("Test by Missing some data"); Assert.assertEquals(excelList2, csvList1); } catch(Throwable e){ Assert.fail("Data Misseddddddddddd..............", e); } }私が代わりに総例外「e」を印刷する、Javaでは

2016-05-11 00:17:35 INFO TestClassToCompare:72 - Test by Missing some data [Utils] Attempting to create D:\workspace\ReadExcelCSVFiles\test-output\Default suite\Default test.html [Utils] Directory D:\workspace\ReadExcelCSVFiles\test-output\Default suite exists: true [Utils] Attempting to create D:\workspace\ReadExcelCSVFiles\test-output\Default suite\Default test.xml [Utils] Directory D:\workspace\ReadExcelCSVFiles\test-output\Default suite exists: true FAILED: testModifiedFiles("C:/Users/leela krishna/Desktop/Xlsx/company_modified.xlsx", "C:/Users/leela krishna/Desktop/CSV/companies.csv") java.lang.AssertionError: Data Misseddddddddddd.............. at org.testng.Assert.fail(Assert.java:83) at com.qpair.readfile.ReadExcelCSVFiles.TestClassToCompare.testModifiedFiles(TestClassToCompare.java:76) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:86) at org.testng.internal.Invoker.invokeMethod(Invoker.java:646) at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:823) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1131) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) at org.testng.TestRunner.privateRun(TestRunner.java:778) at org.testng.TestRunner.run(TestRunner.java:632) at org.testng.SuiteRunner.runTest(SuiteRunner.java:366) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:361) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:319) at org.testng.SuiteRunner.run(SuiteRunner.java:268) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1225) at org.testng.TestNG.runSuitesLocally(TestNG.java:1150) at org.testng.TestNG.runSuites(TestNG.java:1075) at org.testng.TestNG.run(TestNG.java:1047) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:126) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:137) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:58) Caused by: java.lang.AssertionError: lists don't have the same size expected [67] but found [66] at org.testng.Assert.fail(Assert.java:94) at org.testng.Assert.failNotEquals(Assert.java:513) at org.testng.Assert.assertEqualsImpl(Assert.java:135) at org.testng.Assert.assertEquals(Assert.java:116) at org.testng.Assert.assertEquals(Assert.java:389) at org.testng.Assert.assertEquals(Assert.java:556) at org.testng.Assert.assertEquals(Assert.java:533) at com.qpair.readfile.ReadExcelCSVFiles.TestClassToCompare.testModifiedFiles(TestClassToCompare.java:73) ... 25 more

=============================================== Default test

Tests run: 1, Failures: 1, Skips: 0

=============================================== Default suite Total tests run: 1, Failures: 1, Skips: 0 ===============================================`

答えて

0

のtry catchブロックを通じてTestNGの中のすべてのスタックトレースを印刷せずにのみ、私のカスタムerrrorメッセージを印刷することができますどのようにだけ印刷する唯一の原因で一度してみてください例外の

System.out.println(e.getCause()); 

ポップアップを望むなら、あなたは以下のように

 JOptionPane.showMessageDialog(null, "Error: " + ex.getMessage()); 

OR

 System.out.println(ex.getMessage() + "My Custom error"); 

デモ使用することができ、 ムラリ

+0

私はそれを試しました。スタックトレースは表示されませんでしたが、失敗テストのケースでは、テストに合格していますが、これは正しくありません。 –

+0

私はassert.fail( "Data Misseddddddddddd .............."、e.getCause())のようにurアサーションでe.getCause()を使用すると言っています。 –

+0

はまだすべてのスタックトレースを印刷しています。 –

0

をありがとう: -

public static void main(String[] args) { 
    try { 
     throw new RuntimeException("Cannot move file"); 
    } catch (Exception ex) { 
     //JOptionPane.showMessageDialog(null, "Error: " + ex.getMessage()); 
     System.out.println(ex.getMessage() + "My Custom error"); 
    } 
} 

希望すると助かります:)

+0

私はcatchブロックで自分のコードで同じものを使用しました。アサーションが失敗した場合でも、スタックトレースをすべて印刷しているわけではありません。その場合には –

+0

を使います: - System.out.println( "My Custom error"); –

+0

今後ログに記録する場合は、任意のロガーを追加することもできます –

関連する問題