我有一个库,其Junit 3测试我想在Android上重复使用。问题是这些测试取决于存在的文件(测试数据)。
对于Android,这意味着某些设置代码需要调用getContext().getAssets()
并将资产文件转储到SD卡中,然后测试将接收它们。
问题是:我在哪里放置此设置代码?我不能把它放在测试的设置中,因为它继承自TestCase(无论如何这意味着它不再是可移植的)。我无法将它放在AllTests套件中,因为它继承自TestSuite。由于它是一个Junit项目,因此没有我可以挂钩onCreate的Activity。
答案 0 :(得分:2)
解决方案是制作自定义InstrumentationTestRunner。覆盖onCreate,可以存储自定义设置逻辑。例如:
public class InstrumentationTestRunner extends
android.test.InstrumentationTestRunner {
@Override
public void onCreate(Bundle arguments) {
setUpTests();
super.onCreate(arguments);
}
protected void setUpTests() {
// ....
}
}