Java 如何在junit和eclipse中使用toString
我是Java新手,在实现toString时遇到了问题。有人能帮我吗? toString返回包名和调用类名,而不是结果。 我正在使用Eclipse3.7.2。 在我用来字符串的代码的不同位置,它返回正确的结果 我的文件是MyLibraryTest.javaJava 如何在junit和eclipse中使用toString,java,eclipse,junit,tostring,Java,Eclipse,Junit,Tostring,我是Java新手,在实现toString时遇到了问题。有人能帮我吗? toString返回包名和调用类名,而不是结果。 我正在使用Eclipse3.7.2。 在我用来字符串的代码的不同位置,它返回正确的结果 我的文件是MyLibraryTest.java public void testToString(){ setup(); addItems(); //assertEquals("Test: 2 books; 2 people.", ml.toString())
public void testToString(){
setup();
addItems();
//assertEquals("Test: 2 books; 2 people.", ml.toString());
String results = ml.toString();
assertEquals("Test: 2 books; 2 people.", results);
}
results = org.totalBeginner.tutorial.MyLibraryTest.testToString
我不知道我做错了什么
下面是setup()的代码
下面是addItems()的代码
下面是我如何实现toString()的
公共字符串toSrting(){
//返回this.getName()+“:“+this.getBooks().size()+”books;“+this.getPeople().size()+”people。”;
return“测试:两本书;两个人。”;}由于打字错误,您实际上不会覆盖该方法。相反,您定义了ToStarting方法。如您所见,字符t和r的顺序是交换的。这就是直接从
对象进行意外输出的原因。toString
什么是ml
?它是如何定义和初始化的?它的toString()方法实现是什么?您能给我们展示一下toString impl吗?ml.toString()
在这一点上实际返回了什么?ml是什么?您可以发布ml.toString()的实现吗?如果ml还不是字符串,则默认的toString from对象返回类的完整名称加上测试中看到的哈希代码。下面是setup()public void setup()的代码{b1=new Book(“Book1”);b2=new Book(“Book2”);p1=new Person();p2=new Person()p1.setName(“Fred”);p2.setName(“Sue”);ml=newmylibrary(“test”);}谢谢你,这么愚蠢的错误:-)
public void setup(){
b1 = new Book("Book1");
b2 = new Book("Book2");
p1 = new Person();
p2 = new Person();
p1.setName("Fred");
p2.setName("Sue");
ml = new MyLibrary("test");
}
private void addItems() {
ml.addBook(b1);
ml.addBook(b2);
ml.addPerson(p1);
ml.addPerson(p2);
}