gpt4 book ai didi

Java - 如何操纵时间进行测试?

转载 作者:行者123 更新时间:2023-11-30 11:49:39 25 4
gpt4 key购买 nike

我正在使用 Java 和 JSP。我必须创建类似具有开始日期和结束日期的促销 Activity 。在开始日期和结束日期内,会显示对应促销的表格;否则,它只会显示一个普通页面。我已经根据他们打开页面的时间完成了验证。我可以通过将当前时间设置为我想要的任何时间来操纵单元测试中的时间。

但是,问题是当我想将其传递给客户端进行测试时。他们想看看促销当天的情况如何?促销真的会在特定时间显示吗?之后真的关闭了吗?一种可能的方法是在尝试访问页面时 secret 地将当前日期作为 HTTP 参数传递。这样做,客户可以检查系统在特定日期的行为,但这确实非常危险。任何知道这一点的人都可以随时访问促销 Activity 。我不知道处理这个问题的最佳方法是什么。

你有什么建议?

最佳答案

将您的任何 JSP(服务器端)代码基于客户端发送的时间听起来是个坏主意。最好完全在服务器端处理这个问题,并通过某种方式配置您和您的客户可以进行测试的时间。

1) 如果客户真的很关心(或者您的应用程序很复杂)- 合理地进行此类测试的唯一方法可能是按照 Nathan Hoad 的评论所建议的那样更改服务器时间。所有其他测试都充满信心,因为它依赖于时间流逝和“触发”促销开始或结束以外的其他东西。还要记住促销期间发生的 Activity - 他们是否使用系统时间来做出决定或将日期/时间存储在数据库中等?

2) 如果#1 不是真正的问题,我会让您的代码检查时间(用于触发促销)以在您的代码中调用自定义函数(例如 getCustomTime())。该方法将默认返回系统时间,但也会检查是否已配置偏移量并使用它来偏移实际时间。偏移量可以动态配置。

祝你好运。

关于Java - 如何操纵时间进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305257/

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