【发布时间】:2017-10-18 06:26:03
【问题描述】:
我正在尝试在 Kotlin 中创建一些功能测试,以使用 Rest Assured 库向 Cart Java 服务发出请求。
由于我希望测试按程序运行,我希望我可以存储第一个 API 请求的结果并将其传递给下一个单元测试。
即
createCartTest() --> cartId --> getCartForWebsiteTest(cartId)
class CartTest : RestAssuredSupport {
val port = 8080
val url = "http://localhost:"
val cartId = null
/**
* Create a cart object
*/
@Test fun createCartTest() {
given().
now().
body("websiteId=1").
contentType(ContentType.URLENC).
post(url + port + "/orders/cart/create.do").
then().
statusCode(200).
body("summary.numItems", equalTo(0)).
body("summary.visibleNumItems", equalTo(0)).
body("summary.cartId", notNullValue()).
body("summary.version", notNullValue())
}
/**
* Fetch a cart object created by websiteId and cartId
*/
@Test fun getCartForWebsite() {
given().
now().
body("websiteId=1&cartId=" + cartId).
contentType(ContentType.URLENC).
post(url + port + "/orders/cart/getCartForWebsite.do").
then().
statusCode(200).
body("summary.numItems", equalTo(0)).
body("summary.visibleNumItems", equalTo(0)).
body("summary.cartId", equalTo(cartId)).
body("summary.version", notNullValue())
}
}
从未真正使用过 Kotlin,因此寻求有关测试所有 API 端点是否正常工作的最佳方法的建议。
或者在同一个函数中发出另一个请求并将结果传递给下一步会更好吗?
跨测试共享变量的最佳方式是什么?
谢谢
【问题讨论】:
标签: java unit-testing kotlin rest-assured