在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中,可以在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层(Web层或API层)的测试有多种方案。有人倾向于使用纯单元测试,有人则倾向于使用集成测试。
先来看一下单元测试和集成测试的概念。
单元测试是对软件中的最小可验证单元进行检查和验证。比如对Java中的类和方法的测试。
测试原则:
前段时间有些需求就撸了个wordpress java操作库,主要是依赖wordpress XMLRPC实现。简单介绍下使用方式。
引入dependency:
|
1 2 3 4 5 |
<dependency>   |
遇到了一个对包含中文的字符串进行排序的问题。要求按unicode编码对字符串进行排序。
测试字符串数组如下:
|
1 2 3 4 5 6 7 8 |
String[] arr = { &nbs |
遇到了“unable to find valid certification path to requested target”这样的问题。
错误详情如下:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1391 |
说下我对AOP的理解:AOP是给程序添加统一功能的一种技术。在代码层面上来说,AOP就是在必要的业务代码中织入业务无关的、统一的代码的一种技术。在实现AOP的时候,通常努力争取的目标是对业务代码无侵入或是低侵入。
平时用得比较多的是Spring中的AOP实现,还有一些比如Spring中的shiro权限验证,@Cachable注解等在某种程度上也可以认为是AOP…
之前和同事讨论过一个日期格式化的问题,程序比较简单,大体是这样:
|
1 2 3 4 5 6 7 8 9 10 11 |
import java.text.SimpleDateFormat; import java.util.Date; public class DateFormat { private static final S |
前两天在整理一个工程的时候突发奇想,能不能把需要的jar都打到一个类似于war包的jar包里面去,但是不解开原始jar包,而是将之统一放到外面jar包中的一个lib目录下。
按这个思路试了好几次,都遇到了NoClassDefFoundError。一开始以为是manifest中配置有误,在几次尝试调整manifest文件仍然失败之后,觉得有必要查看一些类似的案例…
下面这段代码估计是我们见过(或写过)最多的代码了:
|
1 2 3 4 5 6 |
long start = System.currentTimeMillis(); /** * 代码逻辑 */ |
很多web应用都会有大量的静态文件。我们通常是从硬盘读取这些静态文件,并将完全相同的文件数据写到response socket。这样的操作需要较少的CPU,但是效率有些低,它需要经过如下的过程:kernel从硬盘读取数据,越过kernel-user边界将数据传递给用户空间的web应用;用户空间的web应用再次越过kernel-user边界将完全相同的数据写…