在使用@SpringBootTest测试时可以指定一个端口,如@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) 或 @SpringBootTest(webEnvironment = WebEnvironment.DEFINED_PORT),这样在测试时会启动Spring内嵌的Http Server。 这…
Spring Controller层测试 – 04 SpringBootTest & MockMVC
这种测试方案会加载完整的SpringContext,但我们仍然不需要Web Server,需要继续通过MockMVC来模拟请求。
在测试的时候主要用到了@SpringBootTest注解。看下代码:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
Spring Controller层测试 – 03 WebContext & MockMVC
这种Controller层测试方案会(部分)加载Spring Application Context。不过仍然还是主要是用MockMVC来进行测试,也不需要部署WebServer。
示例代码如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
Spring Controller层测试 – 02 Standalone MockMVC
在Spring中,可以在Standalone模式下使用MockMVC来进行服务内测试,此时我们不会加载任何Context。来看个例子:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
Spring Controller层测试 – 01 概述
Spring Controller层(Web层或API层)的测试有多种方案。有人倾向于使用纯单元测试,有人则倾向于使用集成测试。
单元测试和集成测试
先来看一下单元测试和集成测试的概念。
单元测试
单元测试是对软件中的最小可验证单元进行检查和验证。比如对Java中的类和方法的测试。
测试原则:
- 尽可能保证测试用例相互独立(测试用例中不能直接调用其他类的方法,而应在测试用例
Spark生成CSV后BOM变EF BF BD
工作中需要通过Spark以csv格式导出日志文件。实现功能不太复杂,但是在中文识别上遇到了些问题。
解决csv文件中的乱码最直接的思路就是添加BOM,这样Excel在打开Excel的时候就知道使用什么样的编码来解析这篇文档了。
先写了段测试代码验证了下:
|
1 2 3 4 5 6 7 |
val bom = Array(0xEF, 0xBB, 0xBF).ma |
WordPress java操作库
前段时间有些需求就撸了个wordpress java操作库,主要是依赖wordpress XMLRPC实现。简单介绍下使用方式。
引入dependency:
|
1 2 3 4 5 |
<dependency>   |
Kafka java.net.SocketTimeoutException
手上有一个消费Kafka的服务,这个服务每隔一段时间使用SimpleConsumer从kafka集群获取数据。Kafka的版本是0.8.21。今天这个服务一直在报错:SocketTimeoutException。异常信息如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
2018-12-22 15:18:32 INFO SimpleConsumer |
sbt下载加速方案
本来不太想使用sbt,但是公司这边普遍要求使用sbt来进行部署。所以,so!
sbt的语法什么的还好,唯一让人无法忍受的是sbt下载依赖的速度 —— 在国内大环境下实在是慢到了让人抓狂的程度。
要提升sbt下载依赖的速度,方法无非是那么几个:土豪可以考虑使用VPN,不想花钱可以考虑替换repository。
下面贴一下我用的repositories,并简单说明下。
|
1 2 |
Java 中文字符按Unicode排序
遇到了一个对包含中文的字符串进行排序的问题。要求按unicode编码对字符串进行排序。
测试字符串数组如下:
|
1 2 3 4 5 6 7 8 |
String[] arr = { &nbs |