【Java】单元测试

转载 2016年08月29日 16:18:21

注解

通用

@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes ={DataSourceConfig.class,WebApiConfig.class}) @WebAppConfiguration

数据库回滚

  • 在单元测试的时候为了避免产生脏数据,需要对执行的结果进行回滚
  • 需要加入@TransactionConfiguration将defaultRollback设置为true(默认)
  • 继承AbstractTransactionalJUnit4SpringContextTests
@TransactionConfiguration(transactionManager="balanceTransactionManager",defaultRollback=true)

使用mock测试Controller

maven配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>com.jayway.jsonpath</groupId>
    <artifactId>json-path</artifactId>
    <version>2.0.0</version>
    <scope>test</scope>
</dependency>

Demo

mockMvc.perform(MockMvcRequestBuilders.put("/v1/account/increasement")
.contentType(MediaType.APPLICATION_JSON)
.requestAttr(RequestAttrKeyConstant.API_AUTH_ID, TEST_API_AUTH)
.param("userId", "" + TEST_USER_ID)
.param("amount", "" + TEST_AMOUNT)
.param("summary", "测试接口testAccountIncrease增加余额")
.param("certificateType", ""+CertificateTypeEnum.IN.code)).andExpect(MockMvcResultMatchers.status().isOk())
.andExpect(MockMvcResultMatchers.jsonPath("status").value(0));

单元测试规范

单元测试规范
  • iprettydeveloper
  • iprettydeveloper
  • 2017年02月15日 11:13
  • 1253

java服务器端单元测试

大体有两种模式: 1.容器内测试(Jetty) 2.Mock测试(Jmock、easyMock),继承HttpServletRequest、HttpSession、HttpServletRespo...
  • gaolinwu
  • gaolinwu
  • 2012年02月27日 22:38
  • 935

JAVA 单元测试总结

单元测试的重要性这里就不说了,直接进入正题。很多程序员不喜欢写单元测试,导致项目经常会花很多时间去debug,这完全得不偿失。对关键方法进行单元测试,可以在早期业务逻辑还没那么复杂的时候,尽快排除症结...
  • antony9118
  • antony9118
  • 2017年01月10日 12:42
  • 5645

菜鸟学Java(二十一)——如何更好的进行单元测试——JUnit

测试在软件声明周期中的重要性,不用我多说想必大家也都非常清楚。软件测试有很多分类,从测试的方法上可分为:黑盒测试、白盒测试、静态测试、动态测试等;从软件开发的过程分为:单元测试、集成测试、确认测试、验...
  • liushuijinger
  • liushuijinger
  • 2014年06月18日 21:23
  • 36856

java中Junit单元测试

Junit单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。Java里单元指一个类。 JUnit ,是一个开源的Java单元测试框架,是 Java的标准单元...
  • typa01_kk
  • typa01_kk
  • 2013年01月17日 16:37
  • 24550

Java单元测试进阶之单元测试利器JUnit(测试自动化)

当你建了很多个TestCase后,很多时候你需要把所有的TestCase都运行一遍,但你又不想一个一个地运行,这时你就有了一次运行所有TestCase的愿望,JUnit可以帮你实现这个愿望。    ...
  • lykangjia
  • lykangjia
  • 2015年05月02日 14:27
  • 1018

Java的单元测试和集成spring单元测试

在我们编写项目过程中,经常会需要进行代码测试,那是不是在编写一个main方法之后,然后编写各种的测试代码。这样做,显然是不合适的也是很不专业的。那怎么办呢?今天我们来聊下junit(单元测试)。   ...
  • u012365780
  • u012365780
  • 2016年08月30日 21:04
  • 2291

java单元测试junit测试线程问题

public class JnitAndRunnable { class person implements Runnable{ @Override public void run() {...
  • u012660667
  • u012660667
  • 2015年12月27日 16:40
  • 1134

java单元测试入门——JUnit

写测试类的原则 测试方法上必须使用@Test进行修饰; 测试方法必须使用public void 进行修饰,不能带任何的参数; 新建一个源代码目录来存放我们的测试代码; 测试类的包应该和...
  • fantiantianlucky
  • fantiantianlucky
  • 2016年06月28日 13:45
  • 710

编写更好的Java单元测试的七个技巧

编写更好的Java单元测试的七个技巧
  • javaniuniu
  • javaniuniu
  • 2017年01月19日 14:18
  • 856
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Java】单元测试
举报原因:
原因补充:

(最多只允许输入30个字)