首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >控制器测试是功能测试吗?

控制器测试是功能测试吗?
EN

Stack Overflow用户
提问于 2019-04-16 20:44:19
回答 1查看 396关注 0票数 1

我真的对测试的不同方面感兴趣。我希望你能真正读这篇文章,如果你有这方面的经验,就告诉我你的想法。我们分手吧。

事实1:据说,当我们从用户的角度编写测试(进入uri,获得结果,如果用户看到正确的结果,那么测试是正确的)。他们说这叫做功能测试。

总结1:因此,当我们为控制器编写测试时,它总是起作用的,因为我们必须向端点发出请求并观察结果。因此,为控制器编写测试始终是功能测试。,对吗?

==========================================================================

事实2:所以,集成测试不是控制器测试。让我们想象一下,我们的应用程序中有一些函数(不是控制器函数)。例如,在帮助类或模型中。我们要测试这些功能,比如集成测试。所以我们不会嘲笑任何东西而只是测试它。

总结2:因此,集成测试可以对非控制器函数、在其他地方(不需要执行请求)进行集成测试,并且它们必须使用外部依赖关系。通过外部依赖项,可以考虑任何东西(例如文件、数据库或其他类本身)。,对吗?

==========================================================================

总结3:如果我只有一个api,而不是返回视图,我会从控制器返回json和状态代码。如果我为控制器编写测试,它仍将被称为功能测试。对吗?

EN

回答 1

Stack Overflow用户

发布于 2019-04-25 09:31:36

有趣的问题。我相信这取决于你如何测试控制器。让我们从不同测试类型的几个定义开始。这些定义大致遵循你的两个事实。

让我们以电子商务平台和Controller为例进行结帐。

控制器-单元测试

这就是我们必须孤立地考虑控制器的地方。因此,我们希望模拟来自用户的请求。例如,如果您正在使用Spring,您可以使用库来模拟http请求

控制器-集成测试

要成为一个集成测试,我们需要考虑系统的两个部分之间的交互。在我们的购物篮示例中,我们可以像上面那样模拟http请求,但是测试购物篮和签出代码之间的交互。

控制器-功能测试

对于功能测试,我们需要考虑用户单击UI并使用购物篮的端到端场景。

总之,如果您使用的是模拟HTTP请求的东西来测试您的控制器,那么它很可能是单元测试或集成测试。如果您正在使用selenium或用户单击UI来测试控制器,那么它很可能是功能测试。

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

https://stackoverflow.com/questions/55716347

复制
相关文章

相似问题

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