我有一个存储过程使用getdate()
获取当前日期并与提供的日期进行比较。
但是出现了测试问题 - >通常用于测试我们已准备好输入和输出数据,以及此数据中的预定义日期。但getdate()
将始终返回当前时间,因此测试结果会有所不同。
我认为没有办法改变getdate()
将返回的内容?但是从存储过程中取出getdate()
并使用一些输入参数而不是一个选项。
测试此类存储过程的最佳做法是什么,以使测试结果保持不变?
答案 0 :(得分:0)
看起来无法更改服务器日期或修改存储过程:
Changing the output of Getdate
在这些约束下,您可以检查过程是否返回没有错误的结果集。如果该过程查询其他表,您可以使用基于当前日期的数据填充这些表,调用该过程,验证结果,然后从其他表中删除数据。
或者,如果程序真正固定且不变,则自动测试的成本可能高于此(罕见)情况下的价值。您可以手动验证程序(QA)。