IsolatedHostTest

public class IsolatedHostTest
extends Object implements IBuildReceiver, IConfigurationReceiver, IRemoteTest, ITestAnnotationFilterReceiver, ITestCollector, ITestFilterReceiver

java.lang.Object
   ↳ com.android.tradefed.testtype.IsolatedHostTest


實作 TradeFed 執行器,利用子程序在低依附元件中執行測試 而不是在主要程序中執行

此執行器會假設所有設定的 jar 都位於相同的測試目錄中, 就會啟動該目錄中的子程序由於必須選擇工作目錄 子程序,許多測試因此受益於該目錄,也就是 test 目錄 提供最佳入侵方法

摘要

公用建構函式

IsolatedHostTest()

公用方法

void addAllExcludeAnnotation( notAnnotations)

新增註解的 ERROR(/Set),如果測試有標記的話,將其排除。

void addAllExcludeFilters( filters)

新增要排除測試的篩選器 ERROR(/Set)

void addAllIncludeAnnotation( annotations)

新增註解的 ERROR(/Set),如果測試有標記的話,則會納入註解。

void addAllIncludeFilters( filters)

新增要納入測試的篩選器 ERROR(/Set)

void addExcludeAnnotation(String notAnnotation)

如果測試有標記,新增註解以排除。

void addExcludeFilter(String filter)

新增篩選器,篩選出要排除的測試。

void addIncludeAnnotation(String annotation)

如果測試有標記,則新增註解,並納入該註解。

void addIncludeFilter(String filter)

新增篩選器,選取要納入的測試。

void clearExcludeAnnotations()

刪除目前追蹤的所有排除註解。

void clearExcludeFilters()

刪除目前追蹤的所有「排除」篩選器。

void clearIncludeAnnotations()

刪除目前追蹤的所有 include 註解。

void clearIncludeFilters()

刪除目前追蹤的所有「包含」篩選器。

String compileClassPath()

為子程序建立類別路徑,其中包含執行測試所需的 jar 檔案

compileCommandArgs(String classpath, File artifactsDir)

組合指令引數,執行子程序執行器。

void deleteTempFiles()
File getCoverageExecFile()
getExcludeAnnotations()

傳回要排除的註解目前 ERROR(/Set)

getExcludeFilters()

傳回目前 ERROR(/Set) 的「排除」篩選器。

getIncludeAnnotations()

傳回要包含的註解目前 ERROR(/Set)

getIncludeFilters()

傳回「包含」篩選器的目前 ERROR(/Set)

void run(TestInformation testInfo, ITestInvocationListener listener)

執行測試,並將結果回報給事件監聽器。

void setBuild(IBuildInfo build)

void setCollectTestsOnly(boolean shouldCollectTest)

啟用或停用測試收集模式

void setConfiguration(IConfiguration configuration)

插入使用中的 IConfiguration

void setDebug(boolean debug)
void uploadTestArtifacts(File logDir, ITestInvocationListener listener)
boolean useRavenwoodResources()
boolean useRobolectricResources()

保護方法

String compileLdLibraryPathInner(String androidHostOut)

我們會從單元測試中呼叫這個版本,並直接傳遞 ANDROID_HOST_OUT。

File getJarFile(String jarName, TestInformation testInfo)

從 HostTest 複製,以模仿其單元測試管理。

void setServer(ServerSocket server)

公用建構函式

IsolatedHostTest

public IsolatedHostTest ()

公用方法

新增所有排除註解

public void addAllExcludeAnnotation ( notAnnotations)

新增註解的 ERROR(/Set),如果測試有標記的話,將其排除。

參數
notAnnotations

加入所有排除篩選器

public void addAllExcludeFilters ( filters)

新增要排除測試的篩選器 ERROR(/Set)

參數
filters

addAllIncludeAnnotation

public void addAllIncludeAnnotation ( annotations)

新增註解的 ERROR(/Set),如果測試有標記的話,則會納入註解。

參數
annotations

加入所有篩選器

public void addAllIncludeFilters ( filters)

新增要納入測試的篩選器 ERROR(/Set)

參數
filters

新增排除註解

public void addExcludeAnnotation (String notAnnotation)

如果測試有標記,新增註解以排除。

參數
notAnnotation String

新增排除篩選器

public void addExcludeFilter (String filter)

新增篩選器,篩選出要排除的測試。

參數
filter String

addIncludeAnnotation

public void addIncludeAnnotation (String annotation)

如果測試有標記,則新增註解,並納入該註解。

參數
annotation String

加入篩選器

public void addIncludeFilter (String filter)

新增篩選器,選取要納入的測試。

參數
filter String

ClearExcludeAnnotations (明確排除註解)

public void clearExcludeAnnotations ()

刪除目前追蹤的所有排除註解。

清除排除篩選器

public void clearExcludeFilters ()

刪除目前追蹤的所有「排除」篩選器。

ClearIncludeAnnotation

public void clearIncludeAnnotations ()

刪除目前追蹤的所有 include 註解。

ClearIncludeFilters

public void clearIncludeFilters ()

刪除目前追蹤的所有「包含」篩選器。

compileClassPath

public String compileClassPath ()

為子程序建立類別路徑,其中包含執行測試所需的 jar 檔案

傳回
String 指定以冒號分隔類別路徑的字串。

compileCommandArgs

public  compileCommandArgs (String classpath, 
                File artifactsDir)

組合指令引數,執行子程序執行器。

參數
classpath String

artifactsDir File

傳回

刪除 TempFile

public void deleteTempFiles ()

getCoverageExecFile

public File getCoverageExecFile ()

傳回
File

getExcludeAnnotations (排除註解)

public  getExcludeAnnotations ()

傳回要排除的註解目前 ERROR(/Set)

傳回

取得排除篩選器

public  getExcludeFilters ()

傳回目前 ERROR(/Set) 的「排除」篩選器。

傳回

getIncludeAnnotations

public  getIncludeAnnotations ()

傳回要包含的註解目前 ERROR(/Set)

傳回

getIncludeFilters

public  getIncludeFilters ()

傳回「包含」篩選器的目前 ERROR(/Set)

傳回

得分

public void run (TestInformation testInfo, 
                ITestInvocationListener listener)

執行測試,並將結果回報給事件監聽器。

參數
testInfo TestInformationTestInformation 物件,包含可執行的實用資訊 測試。

listener ITestInvocationListener:測試結果的 ITestInvocationListener

擲回
DeviceNotAvailableException

setBuild

public void setBuild (IBuildInfo build)

參數
build IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

啟用或停用測試收集模式

setConfiguration

public void setConfiguration (IConfiguration configuration)

插入使用中的 IConfiguration

參數
configuration IConfiguration

setDebug

public void setDebug (boolean debug)

參數
debug boolean

uploadTestArtifacts

public void uploadTestArtifacts (File logDir, 
                ITestInvocationListener listener)

參數
logDir File

listener ITestInvocationListener

使用 Ravenwood 資源

public boolean useRavenwoodResources ()

傳回
boolean

useRobolectricResources

public boolean useRobolectricResources ()

傳回
boolean

保護方法

compileLdLibraryPathInner

protected String compileLdLibraryPathInner (String androidHostOut)

我們會從單元測試中呼叫這個版本,並直接傳遞 ANDROID_HOST_OUT。我們需要 因為 Java 沒有可設定環境變數的 API。

參數
androidHostOut String

傳回
String

getJarFile

protected File getJarFile (String jarName, 
                TestInformation testInfo)

從 HostTest 複製,以模仿其單元測試管理。

構件通常位於不同用途中,檢查其位置, 找到我們的罐子。

參數
jarName String

testInfo TestInformation

傳回
File

setServer

protected void setServer (ServerSocket server)

參數
server ServerSocket