[英]How do I use JUnit to test the getter and setter methods of an ArrayList?
[英]How to test setter in JUnit?
我正在研究 JUnit 测试。 我想在 JUnit 中测试 getter 和 setter,但它不起作用。 这是第一个 class。
public class Practice {
private String name;
public Practice(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
这是第二个 class。
import java.util.ArrayList;
public class Practice2 {
private ArrayList<Practice> practice;
public Practice2() {
this.practice = new ArrayList<Practice>();
}
public ArrayList<Practice> getPractice() {
return this.practice;
}
public void setPractice(ArrayList<Practice> practice) {
this.practice = practice;
}
}
setPractice的参数是ArrayList,所以我把Practice class的object放在参数里面,但是却显示错误。
import org.junit.jupiter.api.Test;
public class testGetterAndSetter {
@Test
public void testSetter() {
Practice2 aaa = new Practice2();
Practice bbb = new Practice("Hello");
aaa.setPractice(bbb.setName("A"));
}
}
我需要如何更改以测试二传手,我该如何测试?
问题出在这里:
aaa.setPractice(bbb.setName("A"));
setPractice()
需要ArrayList
的参数,但bbb.setName("A")
返回void
。
除非您的 getter 和 setter 中有非常复杂的逻辑(绝对不是这种情况),否则对它们进行单元测试是矫枉过正、浪费时间和在执行它们时浪费计算机资源。
而是专注于您的业务逻辑。 专注于逻辑不那么简单的类,这是应用程序的核心。 少关注实现 100% 的测试覆盖率,多关注彻底测试应用程序的主要部分。
您通常会结合测试相应的 getter 来测试 setter。
设置一个值,然后获取它,看看你得到的是不是你输入的。
当然,这样的测试是如此微不足道,很多人只是忽略了它,但我存在于一个测试覆盖率非常高的环境中(你永远不知道是否有人在 setter 中打错了……)所以这是一个包含它们是个好主意(当然,除非你有像 Lombok 这样的东西,它可以为你即时生成 getter 和 setter)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.