javascript测试中的异步断言
我正在尝试测试react项目,下面的异步测试应该在这里失败:javascript测试中的异步断言,javascript,reactjs,testing,Javascript,Reactjs,Testing,我正在尝试测试react项目,下面的异步测试应该在这里失败:fail(“fail:+response.status”) 我需要做些什么才能做到这一点 describe('Test dummy data endpoint', () => { it('Test postman-echo for 2 element todo list', (done) => { var options = { meth
fail(“fail:+response.status”)
我需要做些什么才能做到这一点
describe('Test dummy data endpoint', () => {
it('Test postman-echo for 2 element todo list', (done) => {
var options = {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(["One", "Two"])
}
var promise = fetch('https://postman-echo.com/post', options);
promise.then(
function (response) {
it('Status should be 200', (stschk) => {
fail("Fail: " + response.status)
stschk()
})
return response.json()
},
function (error) {
fail("Failed", error)
}
)
done()
}
)
}
)
对于正在寻找的任何人,以下是如何做到这一点:
describe('Test ajax', () => {
it('Test postman-echo for 2 element todo list', (asdf) => {
expect.assertions(2)
var options = {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(["One", "Two"])
}
fetch('https://postman-echo.com/post', options).then(
function (data) {
expect(data.status).toEqual(200)
data.json().then((jd) => {
expect(jd.data.length).toEqual(2)
asdf()
})
}
)
})
})
这个代码不起作用吗?它怎么不起作用?你试过什么?好吧,就像问题所说的,我希望它在写
fail(“fail:+response.status”)
的那一行失败。这不是失败,而是通过。我真的不知道还有什么好说的。