3

私は初めてcucumberです。cucumber必要なjarを使用して環境を構成しました。で残りのAPIをテストしたいcucumber。そして、最初に.featureファイルを作成し、基本的なステップ定義を生成しました。

.featureファイル:

Feature: Test

  Scenario: List accounts
    Given the system knows about the following details:
      | name | value |
      | unit | 01    |
      | dept | 001   |
    When the client requests accounts
    Then the response code should be 200
    And the response should contain following details:
      | name    | value   |
      | unit    | 01      |
      | dept    | 001     |
      | acctype | current |

そしてTestClass.java以下のように:

package testPackage;

import org.junit.runner.RunWith;

import cucumber.api.CucumberOptions;
import cucumber.api.DataTable;
import cucumber.api.PendingException;
import cucumber.api.java.en.*;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(
        features={"classpath:cucumber.features/"},
        glue = {"testPackage"}      
        )

public class TestClass {

    @Given("^the system knows about the following details:$")
    public void the_system_knows_about_the_following_details(DataTable arg1) throws Throwable {
        // Write code here that turns the phrase above into concrete actions
        // For automatic transformation, change DataTable to one of
        // List<YourType>, List<List<E>>, List<Map<K,V>> or Map<K,V>.
        // E,K,V must be a scalar (String, Integer, Date, enum etc)
        throw new PendingException();
    }

    @When("^the client requests accounts$")
    public void the_client_requests_accounts() throws Throwable {
        // Write code here that turns the phrase above into concrete actions
        throw new PendingException();
    }

    @Then("^the response code should be (\\d+)$")
    public void the_response_code_should_be(int arg1) throws Throwable {
        // Write code here that turns the phrase above into concrete actions
        throw new PendingException();
    }

    @Then("^the response should contain following details:$")
    public void the_response_should_contain_following_details(DataTable arg1) throws Throwable {
        // Write code here that turns the phrase above into concrete actions
        // For automatic transformation, change DataTable to one of
        // List<YourType>, List<List<E>>, List<Map<K,V>> or Map<K,V>.
        // E,K,V must be a scalar (String, Integer, Date, enum etc)
        throw new PendingException();
    }

}

私はたくさん検索しましたが、ファイルGETからリクエストを送信することを見つけることができませんでした。.java

GETステップ定義からリクエストを送信し、レスポンスcucumberを比較する方法は?json

4

1 に答える 1

0

Spring を使用する場合は、Spring の REST テンプレートを使用して HTTP リクエストを RESTful な方法で送信できます。

Jacksonは、事前定義された Java データ オブジェクトへの/からの応答/要求を解析するのにも非常に優れているため、JSON を扱う際の負担が大幅に軽減されます。

于 2015-09-23T15:55:47.570 に答える