我有一個標準測試類和一個主要方法以及一個JUnit類,我正在使用它來編寫聯繫人時進行測試目錄通過測試驅動開發。我需要使用assertEquals & assertTrue等方法。正如我之前從未使用過的那樣,我在標準測試類中編寫了一個簡單測試,並在預期時返回True,並在預期時拋出異常。Java - assertEquals&assertTrue - 在JUnit中通過異常[null]測試失敗,但通過測試類
然後我搬進了我的JUnit測試類,寫在標準測試類通過了相同的測試和運行JUnit測試類。測試失敗,出現以下錯誤:
Test[Method Name] failed with exception [null]
我用確切的代碼是沿着這些線路:
assertEquals("NameImExpectingToFind",obj.searchMethod("nameImSearchingFor").get(0).getName());
我一直停留在這個問題上幾個小時。只是沒有意義,它會通過一個標準的測試類,但不是在JUnit測試類中。
在此先感謝您的幫助!
Test class:
AddressBook main = new AddressBook();
Entry Will = new Entry("Will", "Blah",
"Blah, blah, blah", "TF4 3HS", "077774451",
"01/02/93");
Entry Ben = new Entry("Ben", "Blah",
"Blah, blah, blah", "TF4 3HS", "077774451",
"01/02/93");
main.addEntry(Will);
main.addEntry(Ben);
//assertEquals("Ben",main.cSearchFirst("Ben").get(0).getfName());
System.out.println("Ben" == main.cSearchFirst("Ben").get(0).getfName());
返回True。
JUnit Test class:
AddressBook main = new AddressBook();
Entry Will = new Entry("Will", "Blah",
"Blah, blah, blah", "TF4 3HS", "077774451",
"01/02/93");
Entry Ben = new Entry("Ben", "Blah",
"Blah, blah, blah", "TF4 3HS", "077774451",
"01/02/93");
main.addEntry(Will);
main.addEntry(Ben);
assertEquals("Ben",main.cSearchFirst("Ben").get(0).getfName());
//System.out.println("Ben" == main.cSearchFirst("Ben").get(0).getfName());
返回測試[方法名稱]失敗,異常[null]。
您需要向我們展示更多代碼(兩個類中的整個測試方法)。 – 2014-12-03 18:30:25
只需添加一些。希望有所幫助。 – user2962713 2014-12-03 18:41:22
將main.cSearchFirst(「Ben」)。get(0).getfName()分解爲單獨的中間變量,以查看哪些級別爲null,如果您不知道如何將其作爲單個表達式進行調試。這裏沒有特定的JUnit。 – kryger 2014-12-03 21:37:45