- 主题:这段代码咋写单元测试?
public void customize(RestTemplate restTemplate) {
final HttpHost proxy = new HttpHost(PROXY_SERVER_HOST, PROXY_SERVER_PORT);
HttpClient httpClient = HttpClientBuilder.create()
.setRoutePlanner(new DefaultProxyRoutePlanner(proxy) {
@Override
public HttpHost determineProxy(HttpHost target, HttpRequest request, HttpContext context)
throws HttpException {
return super.determineProxy(target, request, context);
}
})
.setSSLHostnameVerifier(new NoopHostnameVerifier())
.setSSLContext(SSLContext.getDefault())
.build();
restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory(httpClient));
}
感觉无从下手啊
--
FROM 120.21.44.*
参考一下okhttp的UT?
https://github.com/square/okhttp/blob/master/okhttp/src/test/java/okhttp3/OkHttpClientTest.java
比如这个builder里set了一堆属性,可以assert相应的get方法啥的
【 在 dpblue (deep blue) 的大作中提到: 】
: public void customize(RestTemplate restTemplate) {
: final HttpHost proxy = new HttpHost(PROXY_SERVER_HOST, PROXY_SERVER_PORT);
: HttpClient httpClient = HttpClientBuilder.create()
: ...................
--
FROM 103.107.216.230
你是要测httpclient能不能用还是要测resttemplate设置了httpclient之后能不能用?写几个请求测试下不就行了?
【 在 dpblue (deep blue) 的大作中提到: 】
: public void customize(RestTemplate restTemplate) {
: final HttpHost proxy = new HttpHost(PROXY_SERVER_HOST, PROXY_SERVER_PORT);
:
: HttpClient httpClient = HttpClientBuilder.create()
--
FROM 111.193.121.*
你这个还设置了代理?那得加上代理一起测试
【 在 dpblue (deep blue) 的大作中提到: 】
: public void customize(RestTemplate restTemplate) {
: final HttpHost proxy = new HttpHost(PROXY_SERVER_HOST, PROXY_SERVER_PORT);
:
: HttpClient httpClient = HttpClientBuilder.create()
--
FROM 111.193.121.*
嗯,是不是要搞一个mock什么的来测?
【 在 nikezhang 的大作中提到: 】
: 你这个还设置了代理?那得加上代理一起测试
--
FROM 120.21.44.*
你这个需要访问外部服务器PROXY_SERVER_HOST, 需要外部服务器配合, 不适合单元测试. 单元测试一般测内存中的逻辑,不依赖文件,网络,数据库等.
--
FROM 115.238.94.*
首先 单元测试不是测试!
单元测试是程序员自己写的一段代码,自己调用一下自己写的函数。
一切外部依赖全部都没有,数据都要自己手工编造。
单元测试不算真的测试,你自己开心就好。
不用拘泥于形式。
写单元测试纯属浪费时间,能跑就行。
【 在 dpblue 的大作中提到: 】
: public void customize(RestTemplate restTemplate) {
: final HttpHost proxy = new HttpHost(PROXY_SERVER_HOST, PROXY_SERVER_PORT);
: HttpClient httpClient = HttpClientBuilder.create()
: ...................
--
FROM 223.104.68.*
最后一句很有用。
【 在 PlutoKey (铠甲勇士) 的大作中提到: 】
: 首先 单元测试不是测试!
: 单元测试是程序员自己写的一段代码,自己调用一下自己写的函数。
: 一切外部依赖全部都没有,数据都要自己手工编造。
: ...................
--
FROM 106.37.208.*
单元测试,一定是细粒度化的测试一段代码想达到的目的,首先你要明确你写的这段代码是要达到什么目的,然后根据目的确认是否达到来测试
比如你这个代码,就是一堆set方法,目的就是设置一些参数,那你单元测试就应该测试这些set的参数是否真正的set进去了,直接get出来或者反射出来看跟你期望的是否一致就行
只要保证后期变动代码,改变参数的时候,你的单元测试能够报错,这样目的就达到了
【 在 dpblue 的大作中提到: 】
: public void customize(RestTemplate restTemplate) {
: final HttpHost proxy = new HttpHost(PROXY_SERVER_HOST, PROXY_SERVER_PORT);
: HttpClient httpClient = HttpClientBuilder.create()
: ...................
--
FROM 222.128.78.*