繁体   English   中英

在Android模拟器或设备上运行Java SE库的JUnit测试

[英]Run JUnit Tests of Java SE library on Android emulator or device

我有一个简单的库,可以在Java SE上编译和运行,并使用Maven构建。 测试类是JUnit测试用例(目前是4.x,降级到3.x没问题)。

该库可以在Android中使用,但不依赖于android.* 在模拟器或Android设备上运行JUnit测试是绝对必要的,因为JDK(Java SE和Android / Harmony)存在一些细微差别。

我不想将测试用例复制到Hello-Testing Android项目,而是重用现有的类。

有没有办法实现这个目标?

要在android模拟器上执行测试,您需要创建一个测试项目(这只能使用JUnit 3),这取决于普通的Android项目。

我建议您在库测试中添加一个测试套件,其中包含对库的所有测试的调用。 创建一个简单的Hello Word Android项目。 为此项目创建Android测试项目。 然后,您可以从Android测试项目中调用新创建的测试套件,而无需复制任何测试用例。 您所做的只是构建一些Wrapper项目。

可能这不是最佳解决方案,但我设法测试在Android(模拟器或真实设备)中运行的库。 你可以在DavidWebb上找到它。

public class DavidWebbAndroidTests extends TestSuite {
    public static Test suite () {
        return new TestSuiteBuilder(DavidWebbAndroidTests.class)
            .includeAllPackagesUnderHere()
            .build();
    }
}

需要注意的是,我必须扩展所有测试,以便它们出现在Android上。

希望有人会找到更好的解决方案,但至少它有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM