重用Android中的junit测试

时间:2011-09-22 16:25:04

标签: android junit

我有一个库,其Junit 3测试我想在Android上重复使用。问题是这些测试取决于存在的文件(测试数据)。

对于Android,这意味着某些设置代码需要调用getContext().getAssets()并将资产文件转储到SD卡中,然后测试将接收它们。

问题是:我在哪里放置此设置代码?我不能把它放在测试的设置中,因为它继承自TestCase(无论如何这意味着它不再是可移植的)。我无法将它放在AllTests套件中,因为它继承自TestSuite。由于它是一个Junit项目,因此没有我可以挂钩onCreate的Activity。

1 个答案:

答案 0 :(得分:2)

解决方案是制作自定义InstrumentationTestRunner。覆盖onCreate,可以存储自定义设置逻辑。例如:

public class InstrumentationTestRunner extends
        android.test.InstrumentationTestRunner {

    @Override
    public void onCreate(Bundle arguments) {
        setUpTests();
        super.onCreate(arguments);      
    }

    protected void setUpTests() {
        // ....
    }
}