你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

TestBase 类

  • java.lang.Object
    • com.azure.core.test.TestBase

实现

org.junit.jupiter.api.extension.BeforeEachCallback

public abstract class TestBase
implements org.junit.jupiter.api.extension.BeforeEachCallback

使用 运行实时和播放测试的 InterceptorManager基类。

字段摘要

修饰符和类型 字段和描述
static final String AZURE_TEST_HTTP_CLIENTS_VALUE_ALL

指定在测试中使用所有 Http客户端实现。

static final String AZURE_TEST_HTTP_CLIENTS_VALUE_NETTY

指定在测试中使用 Netty Http客户端实现。

static final String AZURE_TEST_SERVICE_VERSIONS_VALUE_ALL

指定在测试中使用所有服务版本。

protected InterceptorManager interceptorManager

InterceptorManager 用于此测试运行。

protected TestContextManager testContextManager

TestContextManager 用于此测试运行。

protected TestResourceNamer testResourceNamer

TestResourceNamer 用于此测试运行。

构造函数摘要

构造函数 说明
TestBase()

创建 TestBase 的新实例。

方法摘要

修饰符和类型 方法和描述
protected PollerFlux<T,U> <T,U>setPlaybackPollerFluxPollInterval(PollerFlux<T,U> pollerFlux)

设置传递 PollerFlux<T,U>的 的轮询间隔。

protected SyncPoller<T,U> <T,U>setPlaybackSyncPollerPollInterval(SyncPoller<T,U> syncPoller)

设置传递 SyncPoller<T,U>的 的轮询间隔。

protected void afterTest()

在测试用例运行后释放任何资源并清理。

void beforeEach(ExtensionContext extensionContext)
protected void beforeTest()

在每个测试用例之前执行任何设置。

protected HttpClient getHttpClientOrUsePlayback(HttpClient httpClient)

根据测试模式是否正在播放,返回传递 HttpClient 或返回 PlaybackClient 的便利方法。

static Stream<HttpClient> getHttpClients()

返回应测试的列表 HttpClient

protected Path getTestClassPath()

返回测试所属类的路径。

TestMode getTestMode()

获取已初始化的测试模式。

protected String getTestName()

已放弃

此方法已弃用,因为 JUnit 5 提供了一种更简单的机制,用于通过 TestInfo获取测试方法名称。 保留此值,以便向后兼容仍替代此方法的其他客户端库。 当所有客户端库都删除此方法时,可以删除此方法。 请参阅 setupTest(TestInfo testInfo)

获取正在运行的当前测试的名称。

protected static boolean isTestProxyEnabled()

指示是否正在使用进程外测试记录代理。

protected static void setTestProxyEnabled()

允许使用测试代理。

static void setupClass()

在执行测试之前,通过读取 AZURE_TEST_MODE 环境变量来确定测试模式。

void setupTest(TestInfo testInfo)

在每个测试用例运行之前设置 testResourceNamerinterceptorManager

static boolean shouldClientBeTested(HttpClient client)

返回给定的 http 客户端是否与测试框架的规则匹配。

protected void sleepIfRunningAgainstService(long millis)

如果 TestMode 不是 PLAYBACK,则使测试休眠给定的毫秒数。

void teardownTest(TestInfo testInfo)

释放 InterceptorManager 及其继承类的资源。

方法继承自 java.lang.Object

字段详细信息

AZURE_TEST_HTTP_CLIENTS_VALUE_ALL

public static final String AZURE_TEST_HTTP_CLIENTS_VALUE_ALL

指定在测试中使用所有 HttpClient 实现。

AZURE_TEST_HTTP_CLIENTS_VALUE_NETTY

public static final String AZURE_TEST_HTTP_CLIENTS_VALUE_NETTY

指定在测试中使用 Netty HttpClient 实现。

AZURE_TEST_SERVICE_VERSIONS_VALUE_ALL

public static final String AZURE_TEST_SERVICE_VERSIONS_VALUE_ALL

指定在测试中使用所有服务版本。

interceptorManager

protected InterceptorManager interceptorManager

InterceptorManager 用于此测试运行。

testContextManager

protected TestContextManager testContextManager

TestContextManager 用于此测试运行。

testResourceNamer

protected TestResourceNamer testResourceNamer

TestResourceNamer 用于此测试运行。

构造函数详细信息

TestBase

public TestBase()

创建 TestBase 的新实例。

方法详细信息

<T,U>setPlaybackPollerFluxPollInterval

protected PollerFlux setPlaybackPollerFluxPollInterval(PollerFlux pollerFlux)

设置传递 PollerFlux<T,U>的 的轮询间隔。

这会将 PollerFlux<T,U> 配置为在测试模式播放时使用 1 毫秒的轮询间隔。 在实时或记录测试模式下,轮询间隔按原样保留。

Parameters:

pollerFlux - PollerFlux<T,U>

Returns:

已更新的 PollerFlux<T,U>

<T,U>setPlaybackSyncPollerPollInterval

protected SyncPoller setPlaybackSyncPollerPollInterval(SyncPoller syncPoller)

设置传递 SyncPoller<T,U>的 的轮询间隔。

这会将 SyncPoller<T,U> 配置为在测试模式播放时使用 1 毫秒的轮询间隔。 在实时或记录测试模式下,轮询间隔按原样保留。

Parameters:

syncPoller - SyncPoller<T,U>

Returns:

已更新的 SyncPoller<T,U>

afterTest

protected void afterTest()

在测试用例运行后释放任何资源并清理。 可以在继承类中重写,以在测试拆解期间添加其他功能。

beforeEach

public void beforeEach(ExtensionContext extensionContext)

Parameters:

extensionContext

beforeTest

protected void beforeTest()

在每个测试用例之前执行任何设置。 在 TestBase 中发生的任何初始化首先在此之前进行。 可以在继承类中重写,以在测试设置期间添加其他功能。

getHttpClientOrUsePlayback

protected HttpClient getHttpClientOrUsePlayback(HttpClient httpClient)

根据测试模式是否正在播放,返回传递 HttpClient 或返回 PlaybackClient 的便利方法。

当测试模式正在播放时, PlaybackClient 将返回与测试对应的 ,否则将返回通过 HttpClient 的 。

Parameters:

httpClient - 将使用的首字母 HttpClient

Returns:

通过 HttpClient 的 或 PlaybackClient 基于测试模式。

getHttpClients

public static Stream getHttpClients()

返回应测试的列表 HttpClient

Returns:

要测试的 HttpClient 的列表。

getTestClassPath

protected Path getTestClassPath()

返回测试所属类的路径。

Returns:

测试类的文件路径。

getTestMode

public TestMode getTestMode()

获取已初始化的 TestMode。

Returns:

已初始化的 TestMode。

getTestName

@Deprecated
protected String getTestName()

已放弃

此方法已弃用,因为 JUnit 5 提供了一种更简单的机制,用于通过 TestInfo获取测试方法名称。 保留此值,以便向后兼容仍替代此方法的其他客户端库。 当所有客户端库都删除此方法时,可以删除此方法。 请参阅 setupTest(TestInfo testInfo)

获取正在运行的当前测试的名称。

Returns:

当前测试的名称。

isTestProxyEnabled

protected static boolean isTestProxyEnabled()

指示是否正在使用进程外测试记录代理。

Returns:

如果要使用测试代理,则为 true。

setTestProxyEnabled

protected static void setTestProxyEnabled()

允许使用测试代理。

setupClass

public static void setupClass()

在执行测试之前,通过读取 AZURE_TEST_MODE 环境变量来确定测试模式。 如果未设置, PLAYBACK

setupTest

public void setupTest(TestInfo testInfo)

在每个测试用例运行之前设置 testResourceNamerinterceptorManager 。 然后调用其实现类以执行任何其他设置命令。

Parameters:

testInfo - TestInfo 以检索测试方法名称。

shouldClientBeTested

public static boolean shouldClientBeTested(HttpClient client)

返回给定的 http 客户端是否与测试框架的规则匹配。

  • 如果未设置环境变量,则使用 Netty http 客户端作为默认值。
  • 如果设置为 ALL,则将测试类路径中的所有 HttpClient。
  • 否则,HttpClient 类的名称应与 env 变量匹配。

当前支持的环境值为:“ALL”、“netty”、“okhttp”,不区分大小写。 使用逗号分隔要测试的 http 客户端。 例如,set AZURE_TEST_HTTP_CLIENTS = NettyAsyncHttpClient, OkHttpAsyncHttpClient

Parameters:

client - Http 客户端需要检查

Returns:

布尔值指示是否筛选出客户端。

sleepIfRunningAgainstService

protected void sleepIfRunningAgainstService(long millis)

如果 TestMode 不是 PLAYBACK,则使测试休眠给定的毫秒数。

Parameters:

millis - 测试休眠的毫秒数。

teardownTest

public void teardownTest(TestInfo testInfo)

释放 InterceptorManager 及其继承类的资源。

Parameters:

testInfo - 注入的 testInfo

适用于