java中针对void方法的Junit测试
如何在二叉搜索树中编写此函数的测试用例java中针对void方法的Junit测试,junit,Junit,如何在二叉搜索树中编写此函数的测试用例 void insert(String key){ root=insertRec(root,key); } 你的方法有作用。它通过插入rec(ord?)并以某种方式重新评估根是什么,显然改变了对象的状态。所以,为了测试它,您应该能够以某种方式确定新的状态,例如 public void insert_should_create_new_record_and_set_root() { assertThat( myObject.getRec(
void insert(String key){
root=insertRec(root,key);
}
你的方法有作用。它通过插入rec(ord?)并以某种方式重新评估根是什么,显然改变了对象的状态。所以,为了测试它,您应该能够以某种方式确定新的状态,例如
public void insert_should_create_new_record_and_set_root() {
assertThat( myObject.getRec( originalRoot) ).isNull();
Object originalRoot = myObject.getRoot();
myObject.insert("xyz");
assertThat( myObject.getRec( originalRoot) ).isEqualTo( "xyz"); // using AssertJ style here
assertThat( myObject.getRoot().value() ).isNotEqualTo( originalRoot );
}
另一方面,如果无法从外部检查状态,则会出现问题。但不知怎的,你的班级必须与外界沟通,不是吗?如果您真的认为无法检查新状态,那么您必须提供更多此类代码,因为这个答案当然非常笼统(这里是“猜测”的意思)。可能重复