gpt4 book ai didi

java - JUnit - 测试创建的最大对象数

转载 作者:行者123 更新时间:2023-12-01 23:41:08 25 4
gpt4 key购买 nike

我有一个非常小的类,BuildThreeObjects,它使用私有(private) int 变量 numObjects 创建最多 3 个对象来存储计数。如果计数 < 3,则返回一个新对象,否则返回 null

谁能指导我如何测试是否使用 JUnit 创建最多 3 个对象。查看 API 并没有多大帮助。我假设会使用 assertNotNullassertNull 但我不知道如何使用。

<小时/>

//BuildThreeObjects 类的代码

public class BuildThreeObjects {
private int numObjects = 0;

public Object buildObject() {
if (numObjects<3) {
numObjects++;
return new Object();
}
else return null;
}
}

//JUnit 类中的代码;省略所有不必要的代码

private BuildThreeObjects bto;

@Before
public void setUp() throws Exception {
bto = new BuildThreeObjects();
}

@Test
public void testBuild() {
assertNotNull(bto.buildObject());
}

// assertNotNull passes and assertNull fails as it only checks the first object creation

最佳答案

你的意思是这样的吗?

class BuildThreeObjects{
int count = 0;
public Object buildObject(){
if(count >= 3){
return null;
} else {
count++;
return new Object();
}
}
}

private BuildThreeObjects bto;

@Before
public void setUp() throws Exception {
bto = new BuildThreeObjects();
}

@Test
public void testBuild() {
assertNotNull(bto.buildObject());
System.out.println(bto.count);
assertNotNull(bto.buildObject());
System.out.println(bto.count);
assertNotNull(bto.buildObject());
System.out.println(bto.count);
assertNull(bto.buildObject());
System.out.println(bto.count);
}

//带 for 循环

for(int i=0; i < 100; i++){
if(i < 3){
assertNotNull(bto.buildObject());
System.out.println(bto.count);
} else {
assertNull(bto.buildObject());
System.out.println(bto.count);
}
}

关于java - JUnit - 测试创建的最大对象数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17943774/

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