【发布时间】:2019-04-16 20:44:19
【问题描述】:
我对测试的不同方面非常感兴趣。我希望你能真正阅读这篇文章,如果你有这方面的经验,请给我你的想法。让我们分解吧。
事实 1:据说当我们从用户的角度编写测试时(去 uri,并得到结果,如果用户看到正确的结果,那么测试是正确的)。他们说这叫做功能测试。
总结 1:所以当我们为控制器编写测试时,它总是可以正常工作的,因为我们必须向端点发出请求并观察结果。所以为控制器编写测试总是功能测试。 对吗?
================================================ =============================
事实 2:因此,集成测试不是控制器测试。假设我们的应用程序中有一些功能(不是控制器功能)。例如在我们的辅助类或模型中。我们想测试集成测试之类的功能。所以我们不会模拟任何东西,只是测试它。
总结2:所以,集成测试可以在不是控制器函数的函数上进行,写在其他地方(不需要完成请求),它们必须使用外部依赖项。通过外部依赖,可以想到任何东西(例如文件、数据库或其他类本身)。 对吗?
================================================ =============================
总结 3:如果我只有一个 api 而不是返回视图,而是从控制器返回 json 和状态码,该怎么办。如果我为控制器编写测试,它仍然会被称为功能测试。 对吗?
【问题讨论】:
标签: testing model-view-controller integration-testing functional-testing