rest apiのe2eテストツール比較
色々システムを運用しているなかでデグレテストが面倒になってきたので、rest apiのe2eのツールを導入したくなった
その調査結果まとめ
正確にはテストツールじゃない気がするけどいい言葉が見つからなかったので
karate
gherkinという記法でテストを記載する
javaベースでできており、gradleやmavenでのtestに簡単に組み込める
zozoとかも使ってるらしい
触った感想
ちょっと凝ったことしようとするとjsとgherkinとjavaの行ったり来たりするので、なれるまでの学習コストは高い
代わりにあまりプログラミング言語を知らない人向けにある程度単純なテストであれば最初から提供されている機能サクッとかける
レポート周りも最初から組み込まれてたり、テストの雛形を作る機能がついてたりするのもいい感じ
rest-assured
javaベースでできているのはkarateと同じ
ただkarateと違ってほんとにテストする機能しかないので、テストフレームワークやレポート周りなどこれ以外のライブラリが必要になる
触った感想
記法が色々と一昔っぽい
javaに組み込むのが一般的使い方っぽいがjavaを使うのであればもっと他にもいいライブラリがあるので使わなさそう
既存のコードがjavaで既存の仕組みに組み込むなら場面なら使う可能性ありそう
テストツール単体としてみたときはkarateの下位互換
postman+newman
guiをもっており、jsベースのテストを書くことができる
CI/CDに組み込むときはguiで書いたテストコードをjsonで吐き出してcliに食わせてテストする
会社で使おうとすると金がかかる
独自の認証とかおそらく組み込めないのでセキュリティ厳しい会社とかだと色々大変そう
ちょいちょい使ってる会社がありそう
お金あって羨ましい
触った感想
Hoppscotch
金もかからないし、MITライセンスなので色々カスタマイズして使える
postmanと違いcliがまだα版なのでCI/CDに組み込むのは大変そう
触った感想
postmanに親しいUX
独自ロジック組み込んでカスタマイズしようかと思ったが、謎のapiが裏側にいたり、ストレージにfirebaseを利用することを前提としていたり、カスタマイズのハードルが高そうだった
色々考えるとお金払ってpostman使ったほうが良さそう
比較
特徴 | テスト記法 | 環境 | |
---|---|---|---|
karate(推し) | テストフレームワーク、レポート機能等テストに必要なものが一通り揃ってる プログラミングを知らない人でもある程度のテストはかける 複雑なテストを書くのは大変 |
gherkin | java |
rest-assured | rest apiを叩く機能のみ 最小構成なので既存の仕組みには組み込みやすい |
DSL(スクリプト言語ライク) | java |
postman | guiで操作できるので使える人の幅が広い 基本postmanが提供している機能+nodeの基本機能しか使えないので複雑なテスト厳しそう saasなので本格的に使うにはお金が掛かる |
js | Saas |
Hoppscotch | guiで操作できるので使える人の幅が広い ossなので足りない機能とかは自社化等は頑張ればできる< |
js | node |
Discussion