gpt4 book ai didi

java - setup() 中变量的值未更改

转载 作者:太空宇宙 更新时间:2023-11-04 14:29:02 24 4
gpt4 key购买 nike

我正在为我的应用程序开发一个测试类。我有 3 个测试,根据测试方法,我想要有不同的设置。我的代码如下所示:

`public class MainActivityTest extends
ActivityInstrumentationTestCase2<MainActivity> {

int counter = 0;

public MainActivityTest(Class<MainActivity> name) {
super(name);

}

public MainActivityTest() {
super(MainActivity.class);
}

protected void setUp() throws Exception {
super.setUp();
switch (counter) {
case 0:
//do setup 1
break;
case 1:
//do setup 2
break;
case 2:
//do setup 3
break;
default:
break;
}
counter++;
}

public void testTest1() {
//do test 1
assertEquals(1, counter);
}

public void testTest2() {
//do test 2
assertEquals(2, counter);
}

public void testTest3() {
//do test 3
assertEquals(3, counter);

}

protected void tearDown() throws Exception {
super.tearDown();
}`


正如文档中所述,每次测试都会调用设置方法。问题是 testTest2 和 testTest3 失败,因为它们的计数器值都是 1。我认为每次调用设置时它都会增加。

最佳答案

如果将计数器变量设为静态,测试就会通过。

每个测试都有自己的测试类实例,因此每次测试计数器值都会重新初始化为起始值零。

关于java - setup() 中变量的值未更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26356403/

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