MemoryRouter 和玩笑测试

Sho*_*cob 6 jestjs react-router

https://reacttraining.com/react-router/web/guides/testing

React-router 测试文档对我来说有点晦涩难懂。

如何编写测试来检查路线是否呈现

一个组件。- APage.js

import React, { Component } from 'react'


export default class APage extends Component {
  render() {
    return (
      <div>
        A Page
      </div>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

根据文档编写单元测试来检查。

路由.test.js

import React from 'react'
import { render } from "react-dom";
import APage from './APage'
import {MemoryRouter} from 'react-router-dom';

  test("render route", () => {
    render(
      <MemoryRouter initialEntries={["/apage"]}>
        <APage />
      </MemoryRouter>
    );
  });
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误,Invariant Violation:目标容器不是 DOM 元素。用于渲染。

如何编写基本测试,例如测试组件是否在路线上呈现。

Sho*_*cob -5

好的。路线测试必须通过酶来完成。不只是用玩笑。

关注https://medium.com/@antonybudianto/react-router-testing-with-jest-and-enzyme-17294fefd303

使用酶封片进行测试。