shineout
Version:
A components library for React
30 lines • 1.05 kB
JavaScript
import React from 'react';
import { render } from '@testing-library/react';
import { jsx as _jsx } from "react/jsx-runtime";
export default function mountTest(Component) {
var renderedComponent;
if ( /*#__PURE__*/React.isValidElement(Component)) {
// 如果传递的是 JSX 元素
renderedComponent = /*#__PURE__*/React.cloneElement(Component);
} else {
// 如果传递的是 React 组件类型
var _ComponentType = Component;
renderedComponent = /*#__PURE__*/_jsx(_ComponentType, {});
}
describe('mount and unmount', function () {
test('component should be mount without errors', function () {
expect(function () {
return render(renderedComponent);
}).not.toThrow();
});
test('component should be updated and unmounted without errors', function () {
var _render = render(renderedComponent),
unmount = _render.unmount,
rerender = _render.rerender;
expect(function () {
rerender(renderedComponent);
unmount();
}).not.toThrow();
});
});
}