你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
TestBase 类
- java.
lang. Object - com.
azure. core. test. TestBase
- com.
实现
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
Interceptor |
interceptorManager
InterceptorManager 用于此测试运行。 |
protected
Test |
testContextManager
TestContextManager 用于此测试运行。 |
protected
Test |
testResourceNamer
TestResourceNamer 用于此测试运行。 |
构造函数摘要
构造函数 | 说明 |
---|---|
TestBase() |
创建 TestBase 的新实例。 |
方法摘要
方法继承自 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
设置传递 PollerFlux<T,U>的 的轮询间隔。
这会将 PollerFlux<T,U> 配置为在测试模式播放时使用 1 毫秒的轮询间隔。 在实时或记录测试模式下,轮询间隔按原样保留。
Parameters:
Returns:
<T,U>setPlaybackSyncPollerPollInterval
protected SyncPoller
设置传递 SyncPoller<T,U>的 的轮询间隔。
这会将 SyncPoller<T,U> 配置为在测试模式播放时使用 1 毫秒的轮询间隔。 在实时或记录测试模式下,轮询间隔按原样保留。
Parameters:
Returns:
afterTest
protected void afterTest()
在测试用例运行后释放任何资源并清理。 可以在继承类中重写,以在测试拆解期间添加其他功能。
beforeEach
public void beforeEach(ExtensionContext extensionContext)
Parameters:
beforeTest
protected void beforeTest()
在每个测试用例之前执行任何设置。 在 TestBase 中发生的任何初始化首先在此之前进行。 可以在继承类中重写,以在测试设置期间添加其他功能。
getHttpClientOrUsePlayback
protected HttpClient getHttpClientOrUsePlayback(HttpClient httpClient)
根据测试模式是否正在播放,返回传递 HttpClient 或返回 PlaybackClient 的便利方法。
当测试模式正在播放时, PlaybackClient 将返回与测试对应的 ,否则将返回通过 HttpClient 的 。
Parameters:
Returns:
getHttpClients
getTestClassPath
protected Path getTestClassPath()
返回测试所属类的路径。
Returns:
getTestMode
public TestMode getTestMode()
获取已初始化的 TestMode。
Returns:
getTestName
@Deprecated
protected String getTestName()
已放弃
获取正在运行的当前测试的名称。
Returns:
isTestProxyEnabled
protected static boolean isTestProxyEnabled()
指示是否正在使用进程外测试记录代理。
Returns:
setTestProxyEnabled
protected static void setTestProxyEnabled()
允许使用测试代理。
setupClass
public static void setupClass()
在执行测试之前,通过读取 AZURE_TEST_MODE
环境变量来确定测试模式。 如果未设置, PLAYBACK
setupTest
public void setupTest(TestInfo testInfo)
在每个测试用例运行之前设置 testResourceNamer 和 interceptorManager 。 然后调用其实现类以执行任何其他设置命令。
Parameters:
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:
Returns:
sleepIfRunningAgainstService
teardownTest
public void teardownTest(TestInfo testInfo)
释放 InterceptorManager 及其继承类的资源。
Parameters: