我试图为REST API编写测试,可以返回两个http状态代码中的一个,我认为这两个代码都是正确的。
出于某种原因,我使用的是Frisby 2,图书馆非常简单,您甚至不需要文档来使用它!
无论如何,在Frisby自己的单元测试中,它与正则表达式进行比较:
it('expectHeader should match with regex', function(doneFn) {
mocks.use(['getUser1']);
frisby.fetch(testHost + '/users/1')
.expect('header', 'Content-Type', /json/)
.done(doneFn);
});
大!所以我将使用它:
frisby.fetch('/rest/endpoint', {
method: 'POST',
body: form
})
.expect('status', /201|429/)
亲爱的
assert.strictEqual(received, expected)
Expected value to be (operator: ===):
/201|429/
Received:
429
Message:
HTTP status /201|429/ !== 429
Difference:
Comparing two different types of values. Expected regexp but received number.
我做错了什么?
答案 0 :(得分:0)
看起来你可以回到Jasmine来做这件事:
frisby.fetch('/rest/endpoint', {
method: 'POST',
body: form
})
.then(function (res) {
expect(res.status === 201 || res.status === 429).toBe(true);
})