我有一个标准测试类和一个主要方法以及一个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