我想在用测试装置替换应用程序的数据库之前备份它。由于 Android 限制,我被迫使用 Junit3,并且我想实现 @BeforeClass 和 @AfterClass 的等效行为。
更新:现在有一个工具(Junit4Android)以获得支持
Android 上的 Junit4。这有点混乱,但应该有用。
为了实现 @BeforeClass 等效项,我一直在使用静态变量并在第一次运行期间初始化它,但我需要能够在运行所有测试后恢复数据库。我想不出一种方法来检测最后一个测试何时运行(因为我相信无法保证测试执行的顺序。)
public class MyTest extends ActivityInstrumentationTestCase2<MainActivity> {
private static boolean firstRun = true;
@Override
protected void setUp() {
if(firstRun) {
firstRun = false;
setUpDatabaseFixture();
}
}
...
}
来自朱尼特网站:
封装了套件中的setUp和tearDown方法。这是为了
如果您想运行单个 YourTestClass 测试用例。
public static Test suite() {
return new TestSetup(new TestSuite(YourTestClass.class)) {
protected void setUp() throws Exception {
System.out.println(" Global setUp ");
}
protected void tearDown() throws Exception {
System.out.println(" Global tearDown ");
}
};
}
如果您只想为所有的程序运行一次setUp和tearDown
测试用例,创建一个套件并向其中添加 testClass 并通过该套件
TestSetup构造函数中的对象。但我认为没有太多用途
为此,在某种程度上它违反了 JUnit 哲学。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)