HostTest

public class HostTest
extends Object implements IAbiReceiver, IBuildReceiver, IConfigurationReceiver, IDeviceTest, IRemoteTest, IRuntimeHintProvider, IShardableTest, ITestAnnotationFilterReceiver, ITestCollector, ITestFilterReceiver

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


針對 JUnit 主機測試的測試執行器。如果要執行的測試實作 IDeviceTest,這個執行程式會將裝置的參照值傳遞給測試。

摘要

欄位

public static final String SET_OPTION_DESC

public static final String SET_OPTION_NAME

公用建構函式

HostTest()

公用方法

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()

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

int countTestCases()

傳回所有測試類別中的測試案例數量

IAbi getAbi()

getClassNames()
ITestDevice getDevice()

取得測試裝置。

getExcludeAnnotations()

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

getExcludeFilters()

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

getIncludeAnnotations()

傳回要納入的註解目前 ERROR(/Set)

getIncludeFilters()

傳回目前的 include 篩選器 ERROR(/Set)

long getRuntimeHint()

傳回測試的預期執行階段 (以毫秒為單位)。

void run(TestInformation testInfo, ITestInvocationListener listener)

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

void setAbi(IAbi abi)

void setBuild(IBuildInfo buildInfo)

void setCollectTestsOnly(boolean shouldCollectTest)

啟用或停用測試收集模式

void setConfiguration(IConfiguration configuration)

插入目前使用的 IConfiguration

void setDevice(ITestDevice device)

插入要測試的裝置。

static void setOptionToLoadedObject(Object testObj, keyValueOptions)

讓裝置執行器透過設定選項,按照與 HostTest 相同的方式設定選項。

void setTestInformation(TestInformation testInfo)
split(Integer shardCount, TestInformation testInfo)

我們會依測試類別或方法進行個別分割。

保護方法

HostTest createHostTest(Class<?> classObj)

在切割時建立 HostTest 例項的輔助程式。

IBuildInfo getBuild()

取得 HostTest 收到的版本資訊。

ClassLoader getClassLoader()

傳回預設的類別載入器。

final getClasses()
File getJarFile(String jarName, TestInformation testInfo)

檢查幾個通常用於不同用途的構件所在位置,找出我們的 JAR 檔案。

boolean hasJUnit4Annotation(Class<?> classObj)

協助判斷我們是否使用 Junit4 註解處理 Test 類別。

Object loadObject(Class<?> classObj)

載入類別物件並設定測試資訊 (裝置、版本)。

void setClassName(String className)

清除,然後設定要執行的類別名稱。

boolean shouldTestRun(AnnotatedElement annotatedElement)

檢查含有註解的元素是否通過篩選器。

欄位

SET_OPTION_DESC

public static final String SET_OPTION_DESC

SET_OPTION_NAME

public static final String SET_OPTION_NAME

公用建構函式

HostTest

public HostTest ()

公用方法

addAllExcludeAnnotation

public void addAllExcludeAnnotation ( notAnnotations)

新增 ERROR(/Set) 註解,以便在測試標示為排除時使用。

參數
notAnnotations

addAllExcludeFilters

public void addAllExcludeFilters ( filters)

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

參數
filters

addAllIncludeAnnotation

public void addAllIncludeAnnotation ( annotations)

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

參數
annotations

addAllIncludeFilters

public void addAllIncludeFilters ( filters)

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

參數
filters

addExcludeAnnotation

public void addExcludeAnnotation (String notAnnotation)

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

參數
notAnnotation String

addExcludeFilter

public void addExcludeFilter (String filter)

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

參數
filter String

addIncludeAnnotation

public void addIncludeAnnotation (String annotation)

新增註解,以便在測試標記為此註解時加入。

參數
annotation String

addIncludeFilter

public void addIncludeFilter (String filter)

新增篩選器,指出要納入哪些測試。

參數
filter String

clearExcludeAnnotations

public void clearExcludeAnnotations ()

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

清除排除篩選器

public void clearExcludeFilters ()

刪除目前追蹤的所有排除篩選條件。

clearIncludeAnnotations

public void clearIncludeAnnotations ()

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

clearIncludeFilters

public void clearIncludeFilters ()

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

countTestCases

public int countTestCases ()

傳回測試的所有類別中測試案例的數量

傳回
int

getAbi

public IAbi getAbi ()

傳回
IAbi

getClassNames

public  getClassNames ()

傳回

getDevice

public ITestDevice getDevice ()

取得測試裝置。

傳回
ITestDevice ITestDevice

getExcludeAnnotations (排除註解)

public  getExcludeAnnotations ()

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

傳回

取得排除篩選器

public  getExcludeFilters ()

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

傳回

getIncludeAnnotations

public  getIncludeAnnotations ()

傳回要納入的註解目前的 ERROR(/Set)

傳回

getIncludeFilters

public  getIncludeFilters ()

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

傳回

getRuntimeHint

public long getRuntimeHint ()

以毫秒為單位,傳回測試的預期執行時間。這段時間會用於負載平衡分割執行作業

傳回
long

得分

public void run (TestInformation testInfo, 
                ITestInvocationListener listener)

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

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

listener ITestInvocationListener:測試結果的 ITestInvocationListener

擲回
DeviceNotAvailableException

setAbi

public void setAbi (IAbi abi)

參數
abi IAbi

setBuild

public void setBuild (IBuildInfo buildInfo)

參數
buildInfo IBuildInfo

setCollectTestsOnly

public void setCollectTestsOnly (boolean shouldCollectTest)

啟用或停用測試收集模式

setConfiguration

public void setConfiguration (IConfiguration configuration)

插入正在使用的 IConfiguration

參數
configuration IConfiguration

setDevice

public void setDevice (ITestDevice device)

插入測試中的裝置。

參數
device ITestDevice:要使用的 ITestDevice

setOptionToLoadedObject

public static void setOptionToLoadedObject (Object testObj, 
                 keyValueOptions)

裝置執行程式輔助程式,可用於透過 set-option 設定選項,與 HostTest 相同。

參數
testObj Object:要接收選項的物件。

keyValueOptions :按照 HostTest 設定選項的格式,列出選項清單。

setTestInformation

public void setTestInformation (TestInformation testInfo)

參數
testInfo TestInformation

分割

public  split (Integer shardCount, 
                TestInformation testInfo)

我們會依測試類別或方法進行個別分割。

參數
shardCount Integer:嘗試的資料分割數量。

testInfo TestInformation:父項 TestInformation

傳回
一組要單獨執行的子測試;如果測試目前無法共用,則為 null

保護方法

createHostTest

protected HostTest createHostTest (Class<?> classObj)

在切割時建立 HostTest 例項的輔助程式。覆寫以從 HostTest 傳回任何子項。

參數
classObj Class

傳回
HostTest

getBuild

protected IBuildInfo getBuild ()

取得 HostTest 收到的版本資訊。

傳回
IBuildInfo IBuildInfo

getClassLoader

protected ClassLoader getClassLoader ()

傳回預設的類別載入器。

傳回
ClassLoader

getClasses

protected final  getClasses ()

傳回

getJarFile

protected File getJarFile (String jarName, 
                TestInformation testInfo)

檢查幾個通常用於不同用途的建構物位置,找出我們的 JAR 檔案。

參數
jarName String

testInfo TestInformation

傳回
File

hasJUnit4 註解

protected boolean hasJUnit4Annotation (Class<?> classObj)

協助判斷我們是否使用 Junit4 註解處理 Test 類別。

參數
classObj Class

傳回
boolean

loadObject

protected Object loadObject (Class<?> classObj)

載入類別物件並設定測試資訊 (裝置、版本)。

參數
classObj Class

傳回
Object

setClassName

protected void setClassName (String className)

清除,然後設定要執行的類別名稱。

參數
className String

shouldTestRun

protected boolean shouldTestRun (AnnotatedElement annotatedElement)

檢查是否有帶有註解的元素通過篩選。公開供單元測試使用。

傳回
boolean 如果不應執行測試,則為 false。