【发布时间】:2018-03-13 08:16:20
【问题描述】:
我有以下 JUnit 测试,但不知道为什么第二个测试没有通过,i 的值在两个测试中都是 1。
public class TestTest {
private AtomicInteger ai = new AtomicInteger(1);
@Test
public void test1() {
int i = ai.getAndIncrement();
Assert.assertEquals(1, i);
}
@Test
public void test2() {
int i = ai.getAndIncrement();
Assert.assertEquals(2, i);
}
}
test1 通过,test2 失败并显示以下消息:
java.lang.AssertionError:
Expected :2
Actual :1
【问题讨论】:
-
如果要递增,为什么要调用递减方法?
-
呃,不知道你错过了什么。针对相同的表达式 (
ai.getAndDecrement()),您同时断言 1 和 2。其中只有一个是正确的。 -
是的,抱歉打错了,
getAndIncrement
标签: java junit increment atomicinteger