我想在备份测试夹具之前备份我的应用程序的数据库。由于Android的限制,我不得不使用Junit3,并且我想实现@BeforeClass和@AfterClass的等效行为。如何在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();
}
}
...
}
但在你的情况下测试将视对方,并在某些特定状态将被期待数据库意味着它们不是真正的单元测试。你应该是一个模拟数据库。 –
这些都是验收测试,而且绝大多数不是单元测试。这些完全集成在平台上,由Android工具Robotium驱动。 –
另请参见http://stackoverflow.com/questions/3023091/does-junit-3-have-something-analogous-to-beforeclass – Vadzim