0

テストが実際の値と期待される値を比較する場合に、MySQL ストアド プロシージャと関数に対して自動テストを実行したいと考えています。

問題は、各テストの前にフィクスチャ スクリプトを実行したとしても、ほとんどのルーチンが同じ入力に対して異なる結果を返す可能性があることですnow。(nowは、現在の日時を返す組み込み関数です。)

nowテストデータベースで返されるものをどのように「凍結」できますか?

私が考えることができる最善の解決策は、すべての呼び出しをnowカスタム関数への呼び出しに置き換えることです。私たちの prod データベースでは、このカスタム関数は組み込みの を呼び出すだけnowで、dev データベースでは静的な日付を返します。

のような簡単な方法はありSET global.CURRENT_TIME = '2015-01-01 00:00:00';ますか?

4

0 に答える 0