一般的な自動テストの話で恐縮だか、
時系列で変化するものは、一般的に考慮が必要。

単体テストなら
・関数的な結果を返すモックにする
・DBの中身が変わらないことを前提に、トランザクションで囲んで、rollbackさせる
(comitされる処理は対応出来ない、serialやoid消費される前提)
現在時間などの変数に注意。

結合やシナリオということであれば、
・DB初期化、シード投入、実行
・組み込みDBなら、スナップショット切り替え、実行

quickcheckに組み合わせるのは、基本モックなのではという気がする。