虽然测试失败了,但是开始测试显示通过

时间:2017-02-27 16:42:26

标签: javascript reactjs jestjs enzyme

import React from 'react';
import CrudApi from '../api/CrudApi'; 
import nock from 'nock';

describe('CrudList Component', () => {

    it('should have users', () => {

        afterEach(() => {
          nock.cleanAll()
        })

        CrudApi.getAll().then(
          data => {expect(data).toHaveLength(9) // this failed
          console.log(data.length) // 10}
        )
    });
});

这是我的测试用例,它假设失败,因为getAll返回10个数组。在我的cmd中,我看到测试通过了?

enter image description here

1 个答案:

答案 0 :(得分:8)

测试表明它的传递是因为它没有等待解决的承诺 - 你需要在it函数中返回promise:

it('should have users', () => {

    afterEach(() => {
      nock.cleanAll()
    })

    return CrudApi.getAll().then(
      data => {expect(data).toHaveLength(9) // this failed
      console.log(data.length) // 10}
    )
});