我有一个简单的库,可以在Java SE上编译和运行,并使用Maven构建。测试类是JUnit测试用例(目前是4.x,没有问题可以降级到3.x)。
该库可以在Android中使用,但不依赖android.*
。
在模拟器或Android设备上运行JUnit测试是绝对必要的,因为JDK(Java SE和Android / Harmony)存在一些细微差别。
我不想将测试用例复制到Hello-Testing Android项目,而是重用现有的类。
有没有办法实现这个目标?
答案 0 :(得分:1)
要在Android模拟器上执行测试,您需要创建一个测试项目(这只能使用JUnit 3),这取决于普通的Android项目。
我建议您在库测试中添加一个测试套件,其中包含对库的所有测试的调用。创建一个简单的Hello Word Android项目。为此项目创建Android测试项目。然后,您可以从Android测试项目中调用新创建的测试套件,而无需复制任何测试用例。你所要做的就是建立一些Wrapper项目。
答案 1 :(得分:0)
可能这不是最佳解决方案,但我设法测试在Android(模拟器或真实设备)中运行的库。您可以在DavidWebb上找到它。
public class DavidWebbAndroidTests extends TestSuite {
public static Test suite () {
return new TestSuiteBuilder(DavidWebbAndroidTests.class)
.includeAllPackagesUnderHere()
.build();
}
}
需要注意的是,我必须扩展所有测试,以便它们出现在Android上。
希望有人会找到更好的解决方案,但至少它可行。