テストごとにDB情報をリセットしたい

テストを実行するときには、テストデータをきれいにしてからはじめたいものです。たとえば、新しいユーザを使ったり、DBのデータをリセットしたり・・・。mablにはAPIを呼び出せるステップ(命令)があるので、これを活用すれば上記を解決できます。

テストを実行するときには、テストデータをきれいにしてからはじめたいものです。

たとえば、新しいユーザを使ったり、DBのデータをリセットしたり・・・。

mablにはAPIを呼び出せるステップ(命令)があるので、これを活用すれば上記を解決できます。

参考: API Steps

たとえば、APIでユーザ作成できるなら、テスト前にAPIを呼び出し、返ってきたユーザ情報(ログインIDやパスワード)を使ってテストをはじめます。

DBをリセットする処理がAPIでたたけるなら、テスト前に呼び出せばDBリセットも可能です。JenkinsのJobで「DBリセットジョブ」を作ってもいいかもしれません。

注意点として、「テストは成功したけどDBリセットで失敗していた」や「DBリセットがうまくできておらず、次のテストで失敗してしまう」可能性もあるため、前処理や後処理は独立して確実に実行できるのが理想でしょう。

毎回データを作成、リセットできるとテストは飛躍的に安定しますが、それが難しい場合は、データを分けて管理するのも手です。

たとえば、最初にちょっと手間がかかりますが、「ログインテスト用ユーザ」、「パスワードリセット用ユーザ」のように専用ユーザを作って対応します。

互いのテストに影響が出ないようにデータを用意できるなら、それだけでもだいぶテストは安定します。