从一个HTTP客户端到另一个HTTP客户端重用测试

时间:2020-09-25 16:19:42

标签: unit-testing architecture integration-testing

我用Java编写了一个简单的库,该库将来自一个库(REST保证)的HTTP请求转换为curl命令。令人惊讶的是,我不得不支持许多HTTP协议的极端情况。这导致创建了相当不错的测试套件。

现在,我想为另一种HTTP请求格式(Apache HTTP客户端)提供支持。

我想重用现有测试来推动开发,因为在抽象级别上,测试将使用与用于REST保证的HTTP请求相同的HTTP请求。但是,区别在于它们的表示形式:

Some abstract HTTP request -> RestAssuredRequest -> library -> curl command

Some abstract HTTP request -> Apache HttpRequest -> library -> curl command

换句话说,要重用相同的测试,我首先需要为HTTP请求定义一些通用表示形式,然后从该表示形式转换为特定的HTTP客户端。似乎有些过度设计,可能只在测试中使用容易出错的逻辑。已经存在类似这样的东西,称为Google HTTP client,它是流行的HTTP客户端的包装,尽管它不支持REST保证,这意味着我需要为此提供支持。

我是否注定要为我要支持的每个HTTP客户端重复相同的测试的解决方案?

还是有第三个解决方案?

0 个答案:

没有答案