Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript测试中的异步断言_Javascript_Reactjs_Testing - Fatal编程技术网

javascript测试中的异步断言

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

我正在尝试测试react项目,下面的异步测试应该在这里失败:
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”)
的那一行失败。这不是失败,而是通过。我真的不知道还有什么好说的。