我正在为我的应用程序开发一个测试类。我有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。我想每次调用设置时都会增加。
答案 0 :(得分:0)
如果您使计数器变量为静态,则测试将通过。
每个测试都有自己的测试类实例,因此每次测试都会将计数器值重新初始化为起始值为零。