gpt4 book ai didi

java - Junit 贯穿还是冗余测试? (基本的)

转载 作者:行者123 更新时间:2023-11-30 08:32:35 25 4
gpt4 key购买 nike

我正在尝试为我的方法创建一些 JUnit 测试,并且有人告诉我对每个方法都这样做。我知道初学者只做阳性测试是一个陷阱,那么我如何才能比我已经拥有的更多地测试这种方法呢?此外,我的两种测试方法本质上测试的是同一件事。什么是负面测试的例子,或者是多余的工作?

public static MemberCont getInstance() {
if(instance == null) {
instance = new MemberCont();
}
return instance;
}

@Test
public void getInstance() {
assertNotNull(memberCo1.getInstance());
assertEquals(true, memberCo1.getInstance() != null);
}

最佳答案

您显然尝试实现 Singleton Pattern (顺便说一句,写得不正确,检查 this ),所以要测试的最重要的事情是你总是得到完全相同的实例,所以你的测试应该是这样的:

@Test
public void getInstance() {
assertNotNull(MemberCont.getInstance());
// Make sure that we get the same instance between 2 subsequent calls
assertSame(MemberCont.getInstance(), MemberCont.getInstance());
}

注意:它是一个static方法,所以你不需要使用实例来调用它,只需像我上面那样直接使用类名调用它。

关于java - Junit 贯穿还是冗余测试? (基本的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40085127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com