Postman – 为CRUD创建测试
Postman是一款常用于API开发、测试、管理的图形化界面工具。它使得开发者能够轻松地使用各种HTTP请求(例如GET,POST,DELETE等)来测试API,还可以进行测试自动化。本文将介绍如何使用Postman来为CRUD操作创建测试。
什么是CRUD操作?
CRUD是一个术语缩写,它代表了四个基本数据库操作:创建(Create)、读取(Read)、更新(Update)和删除(Delete)。这四个操作是现代Web应用程序中最基本的操作。在大多数应用程序中,这些操作都是基于HTTP请求来实现的。
例如,考虑一个简单的RESTful API,通过它可以操作一个商品列表,那么以下端点表示CRUD操作:
- 创建商品 –
POST /api/products
- 读取商品 –
GET /api/products/:id
- 更新商品 –
PUT /api/products/:id
- 删除商品 –
DELETE /api/products/:id
这些端点都返回JSON对象,这些对象具有不同的属性,具体取决于数据模型。我们将使用Postman来测试这些API操作是否成功。
在Postman中创建环境变量
在Postman中创建环境变量是一个好习惯。环境变量允许您轻松地在测试之间切换基本URL和其他常量。为此,我们需要在Postman界面左上方的“管理环境”中创建新环境。假设我们将其命名为“ProductAPI”。接着,我们需要设置基本URL为我们Web应用程序的基本URL(假设为http://localhost:3000
)。环境变量将被储存在{{}}
中。
创建创建商品测试
那么,让我们开始创建测试。我们首先需要创建一个新的POST请求并填写基本信息。这里,我们将请求设置为使用我们之前设置的环境变量。在新请求中点击“Params”选项卡,为商品提供名称和价格参数:
{
"name": "iPhone X",
"price": 999.99
}
现在,我们需要测试,是否我们的API端点正确响应,在Tests
选项卡中,我们可以添加这个测试用例的代码:
pm.test("Create product test", function () {
pm.response.to.have.status(201);
// 校验响应中相关字段
pm.response.to.have.jsonBody('name', 'iPhone X');
pm.response.to.have.jsonBody('price', 999.99);
});
在这个测试用例中,我们向Postman提供了一个名为“Create product test”的标题,并检查响应的状态码(是否为201),还检查响应主体的JSON对象是否包含名称成为“iPhone X”的属性和价格为999.99的属性。如果测试通过,我们将看到所有测试用例都为绿色,否则,在响应代码下方我们将看到错误消息。
创建读取商品测试
现在,我们将重复以上步骤并创建“读取商品”测试。我们先创建一个新的GET请求及其相关参数 – 商品ID为1。接着,我们向测试用例添加测试代码:
pm.test("Read product test", function () {
pm.response.to.have.status(200);
pm.response.to.have.jsonBody('name', 'iPhone X');
pm.response.to.have.jsonBody('price', 999.99);
});
在这个测试用例中,我们向Postman提供了一个名为“Read product test”的标题,并检查响应的状态码是否为200,JSON对象是否包含一些属性值与我们之前创建的“Create product”请求的响应一样。如果测试通过,我们将看到所有测试用例都为绿色,否则,在响应代码下方我们将看到错误消息。
创建更新商品测试
对于更新商品,我们将使用与创建商品测试相同的请求端点,但是此次我们需要在请求中包含商品ID以确保我们正在更新正确的商品。我们重新创建一个新的PUT请求,并提供商品ID、商品名称和价格参数。接着,我们向测试用例添加测试代码:
pm.test("Update product test", function () {
pm.response.to.have.status(200);
pm.response.to.have.jsonBody('name', 'iPhone 11');
pm.response.to.have.jsonBody('price', 1299.99);
});
在这个测试用例中,我们向Postman提供了一个名为“Update product test”的标题,并检查响应的状态码是否为200,JSON对象是否包含我们更新后的商品属性。如果测试通过,我们将看到所有测试用例都为绿色,否则,在响应代码下方我们将看到错误消息。
创建删除商品测试
最后,我们将创建一个DELETE测试,以确保我们可以正确地从数据库中删除已创建的商品。我们将创建一个新的DELETE请求和一个相关参数(商品ID为1),然后向测试用例添加测试代码:
pm.test("Delete product test", function () {
pm.response.to.have.status(204);
});
要注意的是,在这个测试用例中,我们检查的是响应状态是否为204,而不是响应具有响应主体。因为我们没有期望获得一个响应实体。
如果测试通过,我们将看到所有测试用例都为绿色,否则,在响应代码下方我们将看到错误消息。
结论
通过本教程,我们了解了如何使用Postman为我们的API操作(CRUD)创建测试。使用Postman,测试API可以变得更加容易,快捷和可靠。这些测试不仅提高了我们API的质量,而且可以节省我们很多的时间和精力。现在,我们可以更有信心地部署我们的API,并对其进行测试。