首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何进行集成测试和端到端测试?

如何进行集成测试和端到端测试?
EN

Stack Overflow用户
提问于 2018-01-17 19:50:05
回答 1查看 4.3K关注 0票数 0

我们最近在我们的.NET项目中开始使用TDD方法,到目前为止我们已经完成了很好的单元测试,但是我们仍然面临着集成和端到端测试的问题。假设我有三个对象,其构造函数如下

代码语言:javascript
运行
复制
constructor(kafka, sql, filesystem); // MOQ all the three
constructor(mongo, webservice, kafka); // MOQ all the three
constructor(googlemaps, sql); // MOQ all the two

这里我们有6个外部组件要集成到我们的应用程序中。我们可以通过模拟构造函数注入中的所有依赖项来对这三个对象进行单元测试,还可以通过对所有6个外部组件进行实时设置来进行端到端测试。

我的问题是我们如何处理集成测试?集成测试是否处理对象测试?我认为单元测试处理对象测试,所以集成必须处理外部组件测试。如果我们想编写集成测试,我该如何处理?

代码语言:javascript
运行
复制
// Setup kafka real and other objects must still be mocked
constructor(kafka, sql, filesystem); MOQ sql, filesystem but kafka is real
constructor(mongo, webservice, kafka); MOQ mongo, webservice but kafka is real
constructor(googlemaps, sql); MOQ all the two   

通过将kafka组件作为真正的安装程序和所有其他被模仿的对象来编写测试。如果我们这样做,我们将得到类似于单元测试的重复代码,而不是模拟对象,我们通常以实际环境设置结束,但是测试用例仍然是相同的,对吗?

我们可以只进行单元测试和端到端测试吗?因为端到端测试同时对所有对象进行集成测试。如果所有的实时对象测试都是端到端测试,那么我们为什么还要进行集成测试呢?进行集成测试的最佳实践是什么?我们应该在什么时候进行集成测试。任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-17 21:14:36

如果您想要编写这个测试,您至少需要了解编写它们的原因。他们要为你解决什么问题。以及每种测试的缺点是什么。

首先,有些人称之为端到端集成测试,即马丁·福勒在最近的一篇博客中所称的宽集成测试。这个测试或多或少像一个黑匣子测试,对于某些用户接受场景很有用,维护起来不容易,很难从失败的测试中得出错误的结论。从我的经验来看,很少有更多有用的是痛苦(Mike金字塔测试在这里可能是有用的概念)。

另一方面,有一些集成测试可以验证与一个外部服务的集成是否有效,他称之为狭义集成测试。

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

https://stackoverflow.com/questions/48308908

复制
相关文章

相似问题

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