1 Câu hỏi: Kiểm tra thẻ React với ký hiệu dấu chấm

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM

Tôi có thành phần phản ứng đơn giản này sử dụng thẻ UI ngữ nghĩa:

  render() {
    return (
      <Card.Meta ref="CardStatusComponent123" className={'float small ' + this.props.align + this.props.statusClassName}>
        {this.props.statusText}
      </Card.Meta>
    );
  }

Tôi đã viết một bài kiểm tra trong Jest và Enzyme để kiểm tra thành phần:

describe('CardStatusComponent', () => {
  it('displays prop text', () => {
    const props = {
      statusText: 'Available',
      statusClassName: ' green ',
      align: 'left',
    };
    const wrap = shallow(<CardStatusComponent {...props} />);
    expect(wrap.find("Card.Meta").at(0).hasClass('green')).toEqual(true)
  });
});

Lỗi tôi gặp phải khi chạy jest là:

  

Phương thức có hasClass Chàng có nghĩa là được chạy trên 1 nút. Tìm thấy 0 thay thế.

Tôi biết một thực tế rằng đó là vì tên thẻ được phân tách bằng dấu chấm bởi vì nếu tôi thay thế thẻ bằng thẻ div, nó sẽ hoạt động. Tôi đã thử truy cập riêng "Thẻ" và "Meta" và tôi không thể tìm thấy bất cứ thứ gì trên Google.

Mọi người có thể vui lòng giải thích cho tôi cách kiểm tra thẻ bằng ký hiệu dấu chấm trong Jest và Enzyme không?

    
0
  1. Tôi không quen với ký hiệu dấu chấm. Nhưng tôi sẽ thử expect(wrap.find("Card).dive().hasClass("green")).toEqual(true)
    2019-05-08 16: 00: 34Z
1 Câu trả lời                              1                         
. không phải "Thẻ.Meta".
Làm điều này thay vào đó: wrap.find("Card.Meta")     
3
2019-05-08 16: 05: 18Z
displayName
nguồn đặt đây