![]() |
1
31
通过在控制器调用之前更改remote_addr环境变量,您可以在不留存根的情况下轻松完成此操作。这里有一个虚构的控制器,如果用户的IP地址为1.2.3.4,则将其重定向到主路径:
以下是如何测试它的工作原理:
您在控制器调用之前设置了远程IP,因此您可以在不使用任何特殊插件或gems的情况下伪造数据。这是Shoulda版本,对于itemscontroller:
|
![]() |
2
1
接收控制器需要一种方法来检测IP地址(或将其作为参数接收),并且您需要一种方法来为测试注入特定的IP地址,或者仅将测试IP地址指定为该方法的参数。 如果这不容易考虑你的应用程序做什么,你可以做的就是让“自定义功能”应用到家庭网络上的另一台计算机上,如果你有一台,然后用这种方式测试应用程序。但这并不能真正解决“通过单元测试来解决”的问题。 我能问一下为什么你的应用会根据IP地址执行特定的操作吗?也许还有别的办法。 |
![]() |
3
1
您应该能够通过删除请求并返回具有
我会看看 FakeWeb 寻求帮助。它允许您轻松设置预期的请求/响应。看看铁轨本身的情况也可能很有指导意义。 does these kinds of tests . |
![]() |
4
0
使用宝石“摩卡”,你可以做到:
|
![]() |
mg610 · 如何开始C++单元测试 2 年前 |
![]() |
vidhu · 无URL的自动化测试 2 年前 |
![]() |
Aessandro · js开关站单元测试[关闭] 6 年前 |
![]() |
AntoineLB · 断言后期工作Django 6 年前 |
|
ravikant · Selenium脚本不工作异常 7 年前 |
![]() |
splintor · 如何在angular中的单元测试中测试文档点击 7 年前 |