我正在建立一个电子商务网站,客户可以在这里租用一个星期的产品。一个限制是产品需要在租用给另一个客户之前的2天内进行清理。所以我正在编写Chimp + Cucumber(端到端)测试,以确保第二个客户在清理之前不能租用同一产品。
由于客户可以选择他们的工作日,我想在我的方案中指定日期而不调整数据库或后端方法。在我看来,一个好的方法是改变系统的日期(服务器+客户端),这样我就可以在我的测试规范中对日期进行硬编码。
有没有人这样做过?如果您有任何建议,我想听听您的建议!
答案 0 :(得分:1)
不要改变系统日期,这真的不是一个好主意。它会破坏的东西数量 - 你不知道!
而是使用设置步骤执行直接SQL以将条目插入到表示先前事务的数据库中。例如。一个产品已经清洁了两天而另一个产品没有,然后对这些条目进行测试。 SQL可以包含日期逻辑,因此您可以执行例如今天 - 1天。
答案 1 :(得分:1)
这是理智应该开始的地方,如果你还没有开始,请对你的代码进行单元测试。它对于测试日期相关逻辑以及大多数其他业务逻辑来说更加方便和健壮。 e2e测试可用于许多场景,如验收测试。将更细粒度的边缘案例测试保持在低级别测试中。在e2e中保持更高级别的页面流。在e2e上维护单元测试也更容易。