首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写自动化集成测试?

如何编写自动化集成测试?
EN

Stack Overflow用户
提问于 2018-01-10 05:35:05
回答 1查看 917关注 0票数 1

我读了很多关于单元测试和集成测试的内容,单元测试部分我理解得相当好-隔离测试对象,使用接口模拟依赖项并注入这些依赖项。(或者使用seams注入可测试的行为)。

然而,即使在搜索之后,对我来说仍然是一个谜的东西是集成测试。每个博客和链接都谈到了一起测试各种组件,做什么和不做什么,CI服务器等,但没有太多关于如何做到这一点的解释。

集成测试是自动化的吗?或者这是手动操作?如果它是自动化的,我是否要用我的应用程序所用的本地语言将其编写为代码?如何检查或验证集成测试是否按预期工作?

例如,如果我有4个服务(一个套接字客户端、一个套接字服务器、一个数据库和一个Web应用程序),我想对这4个服务如何相互交互进行一些集成测试。我到底该怎么做呢?我知道将涉及一些虚拟数据,但是我的集成测试的哪一部分是检查系统是否正常工作?这部分对我来说真的很不清楚。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-10 06:01:26

正如您所说的单元测试,您需要隔离测试中的对象,并使用接口模拟依赖项并注入这些依赖项...

集成测试不会隔离单元...您可以测试两个或更多部分(但是您不应该有广泛的集成测试,这两个测试场景都不适合)。集成测试的一个例子是使用数据库测试你的代码,你可能需要用它来启动数据库并清理它,以便进行可重复的测试。

您还可以进行接口测试(例如,客户端执行和与服务器的集成)等等。

不要忘记,这种测试有一个缺点,它们更慢,也更难维护,但它们与单元测试的目的不同,单元测试的目的是检查具有真正依赖项的单元是否按预期工作。

因此,总而言之,如果你在没有完全隔离单元的情况下编写一个测试,那么它是一个集成测试,由于它的性质,最好通过单元测试来测试代码的逻辑,并在需要测试单元之间的交互时保留较少的集成测试。

您也可以查看这个很好的介绍https://softwareengineering.stackexchange.com/questions/48237/what-is-an-integration-test-exactly

来自“实用程序员”的一个有趣的定义:集成测试表明系统的主要部分可以很好地协同工作

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48176991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档