API测试策略

API测试处于测试金字塔的中间段,它比单个单元测试测试的范围更广,但是,也不那么稳定,只要测试内容任何一个地方出错,都会导致这个测试挂掉。由于,它的粒度没有单元测试细,也不会去测试实现逻辑。因此,对于需要重构的项目,API级别的测试是很推荐的。

API测试成本对比

写成本 维护成本 运行成本
API测试
单元测试

因此,API测试不宜太多,不然就会违反Fast原则。所以,一般API测试,只会用于Happy Pass,对于Bad Pass,可能就用单元测试去覆盖。

无外部依赖

  • Junit
  • Springframework Test
  • Mockito
  • restAssure

有外部依赖

数据库

可以使用FlywayTest(https://github.com/flyway/flyway-test-extensions),DbUnit(http://dbunit.sourceforge.net/)进行测试数据管理,也可以自己管理。但是一定要注意,每个测试都需要独立,不能因为其他测试把数据改了,导致测试挂掉。

使用三方数据库

  • 本地/CI环境安装测试用的数据库
    • 数据库要与线上完全一致
    • docker,使用同版本的镜像
  • 使用嵌入式数据库进行测试
    • H2
    • Embedded Mongo
    • HyperDB

mock数据库层

  • mockBean
  • fakeRepo

三方系统

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。