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

傳回「包含」篩選器的目前 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)

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

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

公用方法

新增所有排除註解

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

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

計數測試案例

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

傳回「包含」篩選器的目前 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)

讓裝置執行器透過設定選項,按照與 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

getClass

protected final  getClasses ()

傳回

getJarFile

protected File getJarFile (String jarName, 
                TestInformation testInfo)

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

參數
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。