在chai REST-API测试中,应该对有效负载和标头使用哪种格式?

时间:2019-01-14 14:33:29

标签: rest chai codeceptjs

我正在使用集成Chai的Codecept测试框架中设置REST-API测试。

在检查了CodeceptJS文档中有关该主题的非常基本的文档之后,我似乎无法进行测试。

const expect = require('chai').expect;

Feature('Checkout');

Scenario('Create a customer', async I => {
  const payload = ({
    first_name: 'Dummy title',
    last_name: 'Dummy description',
    email: 'john@test.com',
    locale: 'fr-CA',
    billing_address[first_name]: 'John',
    billing_address[last_name]: 'Doe',
    billing_address[line1]: 'PO Box 9999',
    billing_address[city]: 'Walnut',
    billing_address[state]: 'California',
    billing_address[zip]: '91789',
    billing_address[country]: 'US'
})
  const header = ({Content-Type: 'application/x-www-form-urlencoded'})

  const res = await I.sendPostRequest('https://mytesturl- 
   api.com/api/',payload,header);
  expect(res.code).eql(200);
});

为了方便使用和可读性,我将有效负载和标头放在了一个变量中。

但是它不起作用,并不断给我意外的令牌[

1 个答案:

答案 0 :(得分:0)

我知道了。

格式化有效负载的方法是使用字符串(请参见下面的示例)

const expect = require('chai').expect;

Feature('Checkout');

Scenario('Create a customer', async I => {
 const payload = ({
  first_name: 'Dummy title',
  last_name: 'Dummy description',
  email: 'john@test.com',
  locale: 'fr-CA',
  'billing_address[first_name]': 'John',
  'billing_address[last_name]': 'Doe',
  'billing_address[line1]': 'PO Box 9999',
  'billing_address[city]': 'Walnut',
  'billing_address[state]': 'California',
  'billing_address[zip]': '91789',
  'billing_address[country]': 'US'
  })

const header = ({Content-Type: 'application/x-www-form-urlencoded'})

const res = await I.sendPostRequest('https://mytesturl-api.com/api/',payload,header);

expect(res.code).eql(200);
});