简单代码与集成测试

142 阅读3分钟

DZone>集成区 >简单代码。集成测试

简单的代码。集成测试

集成测试是测试依赖于外部系统的功能,例如:数据库、HTTP API或消息队列。

Jori Lytter user avatar

乔里-莱特

CORE -

Aug. 06, 21 -整合区 -观点

喜欢 (2)

评论

保存

Tweet

3.76K浏览次数

加入DZone社区,获得完整的会员体验。

免费加入

集成测试是测试依赖于外部系统的功能,例如数据库、HTTP API或消息队列。

集成测试与单元测试

在我看来,这条界限很细。集成部分可以是假的,也可以用嵌入式服务来代替实际的集成点,通过这些解决方案,与外部系统的交互在测试上下文中是有界限的,测试可以被隔离执行,所以它们非常像单元测试。

这种类型的集成测试和单元测试之间的唯一区别是,嵌入式或伪造的系统的启动时间通常需要几秒钟,这增加了测试的总执行时间。即使总的测试执行时间较长,但所有的测试都需要通过,而且无论是否有外部系统参与,都需要覆盖所有的情况,所以测试类型之间的重要性是相同的。

这就是为什么我不会在代码库中把单元和集成测试分开,而是把它们视为平等的。

如果在开发过程中需要运行一个较小的测试集,我很确定所有的测试库或IDE都支持通过给出某种类型的过滤器来运行测试,这样整个测试套件就不需要在每次改变时都运行,如果这是分离的目标的话。

假象

假货是测试应用程序逻辑的一个很好的方法,而不需要实际与外部系统进行交互。假实现的一个很好的例子是基于内存的哈希图,它可以成为数据库的一个足够好的假实现。

嵌入式服务

嵌入式服务,即在测试代码中启动并由测试代码停止的服务,在测试与自动化测试的系统集成时是一个很好的选择,但他们不一定提供真实系统的所有功能和能力,所以通常总是有边缘情况,嵌入式服务是不可行的。

容器

容器(大多数人认为是docker容器)也为运行需要与外部服务交互的测试提供了一个很好的解决方案。在我看来,这可能是解决这个问题的最好方法,尽管它不像假的和嵌入式服务那样快,而且它确实使你的测试依赖于容器,但我认为这值得额外的运行时间和依赖性。

主题。

简单代码、 测试、 集成测试、 单元测试、 集成

经DZone MVB的Jori Lytter许可,发表于DZone。点击这里查看原文。

DZone贡献者所表达的观点属于他们自己。

DZone上的热门文章


评论

集成 合作伙伴资源