karate を用いた e2e テストで一度だけ行いたい setup 処理を実現する
こんにちは、 @kz_morita です。
今回は、 Karate という BDD (振る舞い駆動) テストフレームワークを使って、テストを行う前に一度だけ行いたい Setup の処理の実現方法をまとめます。
先に結論 karate で 1度だけ行いたい Setup 処理を行うには、Background と callonce を組み合わせます。
Feature: Sample Test Background: * start = function() { return karate.start({ mock: 'classpath:mock/api-server-mock.feature', port: 8080 }).port } * def port = callonce start karate とは karate は、BDD が実現できるテストフレームワークになります。
以下のような形式でテストの振る舞いを記述することができます。
Feature: Sample Test Background: * def port = 8080 Scenario: API mock sample Given karate.start({ mock: 'classpath:mock/api-server-mock.feature', port: port }) When url 'http://localhost:' + port And path 'health' When method get Then status 200 上記では、Mock サーバーを立ち上げて、localhost:8080/health へリクエストして、HTTP Status 200 が返ってくることを確認するテストになります。