什么是单元的测试控制器动作的正确方式执行重定向?

更新:我在CFWheels项目核心开发人员。整个原因,我问这个问题,目前我正在增强内置测试框架,我们有,我想知道对如何处理和执行CFWheels这样的事情更容易为开发者测试其应用程序

更新:我想出如何进行测试。看来我们将不得不重新改写车轮控制器内部一点儿的动作完成之后,它被传递回调度后执行重定向。这种方法的唯一的事情就是)在redirectTo(之后的任何代码会跑,如果你把前手适当的预防措施除外;这包括把任何一回redirectTo()语句后或将条件检查你的行动来隔离其他代码redirectTo()代码。它还涉及到确保没有其他渲染一次redirectTo()执行。

有帮助吗?

解决方案

这样的东西,如果你掰开重定向机制成多个功能成为一个整体容易得多试验:a)在确定目标URL和b)的功能的功能执行重定向

这样,你可以很容易检验泛函,以及泛函是要测试反正之一。这是代码的写道。这也正是你的真实逻辑。 FunctionB是不是你的代码;它的ColdFusion的内脏,没有太多意义在测试CFLocation。

如果你对某些任务,实现100%的测试覆盖率,那么你可以花10个试验泛函,你锻炼你所有的逻辑的不同分支,然后functionB一个测试,行使重定向以这样的方式特里建议;因此,在这种方式下,你只能得到的,而不是10 1次缓慢测试。

您可以推广这种做法在其他情况下使用:文件系统,web服务,HTTP,FTP,电子邮件等:“提取可以从东西控制,并要测试的东西,你无法控制,不要测试“

其他提示

您可以调用使用CFHTTP与重定向设置为false相应的URL控制器。然后测试得到的结果CFHTTP结构,它应该有什么地方重定向会把你的信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top