【CI/CD】Tavern で API 自動テスト!
はじめに
Tavern という API テストツールがあります。
API の Request や Response を yaml で記述することが出来ます。
@os1ma さんの記事で知りました。
このツールで API 自動テストのパイプラインを構築した話を書きます。
API テスト
僕たちのチームでは、Postman を使うことが多いです。
テストコードを見やすく、実装するため、Tavern を使うことを決めました。
実装
-
tavern
を入れた Container を build する。
-
tavern
のテンプレートを実装する。
tavern-ci --stdout test.yaml --log-to-file test.log
- runner を用意する。
- GitLab から runner を起動する。
tavern
を入れた Container を build する。tavern
のテンプレートを実装する。
tavern-ci --stdout test.yaml --log-to-file test.log
gitlab-ci の log は、こちら。
log
============================= test session starts ==============================
platform linux -- Python 3.9.0, pytest-6.1.1, py-1.9.0, pluggy-0.13.1
rootdir: /builds/tests
plugins: tavern-1.6.0
collected 1 item
test.tavern.yaml F [100%]
=================================== FAILURES ===================================
...
============
TESTS0020 0.033
TESTS0025 0.634
TESTS0030 0.0910001
TESTS0085 0.0579998
TESTS0090 600.011
TESTS0095 86.047
TESTS0105 112.684
TESTS0110 0.0489998
TESTS0115 0.0439999
TESTS0120 11.638
TESTS0125 0.346
TESTS0141 0.0600002
TESTS0190 0.0309999
TESTS0210 0.511
TESTS0220 6.805
============
Job succeeded
まとめ
これが今回構築した自動テストのパイプラインです。
以上。
皆さんの参考になれば幸いです。
Author And Source
この問題について(【CI/CD】Tavern で API 自動テスト!), 我々は、より多くの情報をここで見つけました https://qiita.com/danny-yamamoto/items/4e6dcedd829c5e49cb70著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .