gpt4 book ai didi

coldfusion - 如何在 cfwheels 中对重定向进行单元测试

转载 作者:行者123 更新时间:2023-12-01 00:03:50 26 4
gpt4 key购买 nike

对执行重定向的 Controller 操作进行单元测试的正确方法是什么?

更新:我是 CFWheels 项目的核心开发人员。我问这个问题的全部原因是目前我正在努力增强我们拥有的内置测试框架,我想知道如何在 CFWheels 中处理和实现类似的东西,以使开发人员更容易测试他们的应用程序.

更新:我想出了如何测试这个。似乎我们将不得不稍微重写轮子 Controller 的内部结构,以在操作完成后并将其传递回调度程序后执行重定向。这种方法唯一的一点是,如果您事先采取了适当的预防措施,则将运行 redirectTo() 之后的任何代码;这包括在 redirectTo() 语句之后放置 return 或在您的操作中放置条件检查以将 redirectTo() 代码与其他代码隔离。它还涉及确保在执行 redirectTo() 后不会呈现任何其他内容。

最佳答案

如果您将重定向机制分解为多个函数,则像这样的东西变得更容易测试:a) 确定目标 URL 的函数和 b) 执行重定向的函数。

这样,您可以非常轻松地测试 functionA,而 functionA 无论如何都是您要测试的。这是代码写道。这是你真正的逻辑所在。 FunctionB 不是你的代码;这是 ColdFusion 的胆量,测试 CFLocation 没有多大意义。

如果您的任务是实现 100% 的测试覆盖率,那么您可以对 functionA 进行 10 次测试,在其中练习逻辑的所有不同分支,然后对 functionB 进行一次测试,以 Terry 建议的方式练习重定向;所以以这种方式,你只会得到 1 个慢测试而不是 10 个。

您可以将此方法推广用于其他场景:文件系统、网络服务、http、ftp、电子邮件等:“从您无法控制和不想测试的内容中提取您可以控制和想要测试的内容”

关于coldfusion - 如何在 cfwheels 中对重定向进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293562/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com