你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
TestUtils 类
- java.
lang. Object - com.
azure. core. test. utils. TestUtils
- com.
public final class TestUtils
包含用于测试的实用工具方法。
方法摘要
修饰符和类型 | 方法和描述 |
---|---|
static void |
assertArraysEqual(byte[] expected, byte[] actual)
断言两个数组相等。 |
static void |
assertArraysEqual(byte[] expected, int expectedOffset, byte[] actual, int actualOffset, int length)
断言两个数组相等。 |
static void |
assertByteBuffersEqual(ByteBuffer expected, ByteBuffer actual)
断言两 ByteBuffers 个相等。 |
static
Http |
getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps)
包装 以 HttpClient 调用 HTTP 故障注入器 以测试随机网络故障。 |
static
Http |
getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps, int successRate, int partialRate, int failureRate)
包装 以 HttpClient 调用 HTTP 故障注入器 以测试随机网络故障。 |
static File |
getRecordFolder()
获取指向 File 会话记录所在的文件夹的指针。 |
static Path |
getRepoRootResolveUntil(Path testClassPath, String resolveFolder)
找到当前存储库的根目录,直到提供的文件夹的父级为止。 |
static URI |
toURI(URL url)
返回等效于此 URL 的 URI 。 |
方法继承自 java.lang.Object
方法详细信息
assertArraysEqual
public static void assertArraysEqual(byte[] expected, byte[] actual)
断言两个数组相等。
此方法类似于 JUnit, Assertions#assertArrayEquals(byte[], byte[]) 只不过它利用 JDK 提供的硬件内部函数来优化比较字节数组。
如果数组不相等,将调用 Assertions#assertArrayEquals(byte[], byte[]) 以利用更好的错误消息,但这是例外情况,值得双重比较性能。
参数:
assertArraysEqual
public static void assertArraysEqual(byte[] expected, int expectedOffset, byte[] actual, int actualOffset, int length)
断言两个数组相等。
此方法类似于 JUnit, Assertions#assertArrayEquals(byte[], byte[]) 只不过它利用 JDK 提供的硬件内部函数来优化字节数组的比较,并允许比较数组的子部分。
如果数组不相等,则会复制数组范围并调用 Assertions#assertArrayEquals(byte[], byte[]) 以利用更好的错误消息,但这是一种例外情况,值得双重比较性能。
参数:
assertByteBuffersEqual
public static void assertByteBuffersEqual(ByteBuffer expected, ByteBuffer actual)
断言两 ByteBuffers 个相等。
此方法类似于 JUnit, Assertions#assertArrayEquals(byte[], byte[]) 只不过它利用 JDK 提供的硬件内部函数来优化 ByteBuffers 的比较。
如果 ByteBuffer 不相等,则会将 ByteBuffer 内容复制到字节数组中,并调用 Assertions#assertArrayEquals(byte[], byte[]) 以利用更好的错误消息,但这是一种异常情况,值得双重比较性能。
参数:
getFaultInjectingHttpClient
public static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps)
包装 以 HttpClient 调用 HTTP 故障注入器 以测试随机网络故障。
HttpClient使用此方法返回的 需要配置 HTTP 故障注入器所需的所有设置。
useHttps
确定请求是使用 HTTPS 还是 HTTP 转发到 HTTP 故障注入器,使用 HTTP 不需要 JVM 信任 HTTP 故障注入器使用的自签名证书,从而更轻松地使用 HTTP 故障注入器创建测试原型。 合并就绪测试应始终使用 HTTPS。
HttpClient返回的 将使用默认的成功和失败响应百分比。 75% 的请求将成功,24% 的请求将失败并返回部分正文,1% 的请求永远不会返回响应。 建议对使用 HTTP 故障注入器设置 HttpClientOptions#setResponseTimeout(Duration) 和 的测试,或者直接在使用的 HTTP 客户端生成器中设置等效 HttpClientOptions#setReadTimeout(Duration)方法,因为默认超时为 60 秒,响应失败时随机减少超时将使测试运行速度更快,同时通常仍进行相同的测试。
参数:
返回:
getFaultInjectingHttpClient
public static HttpClient getFaultInjectingHttpClient(HttpClient clientToWrap, boolean useHttps, int successRate, int partialRate, int failureRate)
包装 以 HttpClient 调用 HTTP 故障注入器 以测试随机网络故障。
HttpClient使用此方法返回的 需要配置 HTTP 故障注入器所需的所有设置。
useHttps
确定请求是使用 HTTPS 还是 HTTP 转发到 HTTP 故障注入器,使用 HTTP 不需要 JVM 信任 HTTP 故障注入器使用的自签名证书,从而更轻松地使用 HTTP 故障注入器创建测试原型。 合并就绪测试应始终使用 HTTPS。
HttpClient返回的 将使用指定的成功和失败响应百分比。 、 partialRate
和 failureRate
的组合successRate
必须等于 100,否则IllegalArgumentException将引发 。
IllegalArgumentException如果任何值为负值,也会引发 。 建议对使用 HTTP 故障注入器设置 HttpClientOptions#setResponseTimeout(Duration) 和 的测试,或者直接在使用的 HTTP 客户端生成器中设置等效 HttpClientOptions#setReadTimeout(Duration)方法,因为默认超时为 60 秒,响应失败时随机减少超时将使测试运行速度更快,同时通常仍进行相同的测试。
参数:
返回:
getRecordFolder
public static File getRecordFolder()
获取指向 File 会话记录所在的文件夹的指针。
返回:
getRepoRootResolveUntil
public static Path getRepoRootResolveUntil(Path testClassPath, String resolveFolder)
找到当前存储库的根目录,直到提供的文件夹的父级为止。
参数:
返回: