我是cucumber
的新手。我已为cucumber
配置了所需的罐子环境。我想用cucumber
测试rest api。首先创建.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
响应?
答案 0 :(得分:0)
如果您愿意使用Spring,可以使用Spring's REST Template以RESTful方式发送HTTP请求。
Jackson也很好地解析了对预定义的java数据对象的响应/请求,这使得处理JSON的痛苦明显减少。