import React = require("react"); import { act, create, ReactTestInstance } from "react-test-renderer"; import { createRenderer } from 'react-test-renderer/shallow'; class TestComponent extends React.Component { } const renderer = create(React.createElement("div"), { createNodeMock: (el: React.ReactElement<any>) => { return {}; } }); const json = renderer.toJSON(); if (json) { json.type = "t"; json.props = { prop1: "p", }; json.children = [json]; } const tree = renderer.toTree(); if (tree) { tree.type = "t"; tree.props = { prop1: "p", }; tree.children = [tree]; tree.rendered = tree; tree.nodeType = "component"; tree.nodeType = "host";
import * as React from "react"; import { create } from "react-test-renderer"; import { createRenderer } from 'react-test-renderer/shallow'; const tree = create(React.createElement("div"), { createNodeMock: (el: React.ReactElement<any>) => { return {}; } }).toJSON(); tree.type = "t"; tree.props = { prop1: "p", }; tree.children = [tree]; tree.$$typeof = "t"; class TestComponent extends React.Component { } const component = React.createElement(TestComponent); const shallowRenderer = createRenderer(); shallowRenderer.render(component); shallowRenderer.getRenderOutput();
export function safeCreate<TProps>(content: React.ReactElement<TProps>, callback: (wrapper: renderer.ReactTestRenderer) => void): void { const wrapper = renderer.create(content); callback(wrapper); wrapper.unmount(); }