单元测试

我们为什么要做单元测试

  • 减少查错时间
  • 提高代码质量
  • 更易重构维护

最佳实践

测试方法必须使用public void 进行修饰,不能带任何的参数
测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖

常用注解

BeforeClass和AfterClass

@BeforeClass修饰的方法会在所有方法被调用前被执行,而且该方法是静态的,所以当测试类被加载后接着就会运行它,它比较适合加载配置文件。

@AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库连接

它们只会被调用一次

Before和After

@Before和@After会在每个测试方法前后各执行一次

RunWith

@RunWith决定用哪种runner运行测试方法

Suite(测试套件)

测试套件就是组织测试哪些类一起运行的,注意测试套件是个空类,由以下注解修饰

@RunWith(Suite.class)
@Suite.SuiteClasses({XX1.class,XX2.class})

参数化设置

用于多组数据的测试
@RunWith(Parameterized.class)

怎么写用例,针对场景还是类。

测试用例不是用来证明你是对的,而是用来证明你没有错

测试用例用来达到想要的预期结果,但是对于逻辑的错误无能为力?

今天第一次写单元测试,本来想套用外训老师的方式,用场景的方式写测试用例,但是发现遇到了不少问题,然后换用层层递进的进行单元测试,从最底层开始,后面mock相关的依赖。

小结

有点儿小困,明天再整理吧。
知道了一些基础,其实我更想知道一些复杂场景应该怎么写测试用例。

jinhy wechat
微信扫一扫,欢迎关注我的订阅号~
坚持原创,您的支持将鼓励我继续创作,去追寻星空~