簡體   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