मैं इस परिदृश्य का सामना करना पड़ रहा हूँ:AssertEquals (स्ट्रिंग, स्ट्रिंग) ComparisonFailure जब सामग्री समान हैं
मैं है एक ऐप्लिकेशन है जो STDOUT के लिए बाहर सब कुछ (सरल कंपनी परीक्षण) थूक और मैं JUnit इस कोशिश कर रहा हूँ ।
मेरे समस्या यह है, जब मैं आवेदन चलाने के लिए, यह मेरे कंसोल में प्रस्तुत करती है: (कॉपी और इंटेलीजे से चिपकाया)
Id 1234 nao encontrado
123, R$ 441,00
321, R$ -8490,00
255, R$ 884,00
प्रिंट:
और अपने परीक्षण है:
assertEquals(outContent.toString().trim(),"Id 1234 nao encontrado\n" +
"123, R$ 441,00\n" +
"321, R$ -8490,00\n" +
"255, R$ 884,00");
मुझे मिल रहा है:
junit.framework.ComparisonFailure: <Click to see difference>
at junit.framework.Assert.assertEquals(Assert.java:100)
at junit.framework.Assert.assertEquals(Assert.java:107)
at junit.framework.TestCase.assertEquals(TestCase.java:269)
at com.company.AccountManagerTest.testPrintAccountsBalance(AccountManagerTest.java:85)
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:497)
at junit.framework.TestCase.runTest(TestCase.java:176)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:252)
at junit.framework.TestSuite.run(TestSuite.java:247)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:234)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:74)
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:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
तो, क्या मैं गलत यहाँ कर रहा हूँ?
JUnit4 और assertJ 2.4.0
बहुत बहुत धन्यवाद, यह काम किया! – Leonardo
यदि आप सुनिश्चित नहीं हैं कि स्ट्रिंग के पास \ r' होगा या नहीं, तो दूसरा समाधान 'outContent.toString()। Trim() का उपयोग करना है। ("\ R", "") "वास्तविक स्ट्रिंग के रूप में । यही है, तुलना करने से पहले सभी '\ r' अक्षर हटा दें। – ajb
हाथ से इसे देखकर इसे डीबग करने का कोई तरीका? –