Skip to main content

Extend

Extend is used to extend your test environment for better testing.

Take the React component testing as an example, and the following code is before extend is used.

import { test } from 'xbell';

test.browser('react tests', async ({ page }) => {
const { default: React } = await import('react');
const { default: ReactDOM } = await import('react-dom');

const mount = (reactElement) => {
ReactDOM.render(reactElement, document.getElementById('root'));
};

await page.goto('https://my-custom-url.com', {
mockHTML: '<div><div id="root"></div></div>'
});

// for jsx
window.React = React;

mount(<div>hello xbell</div>);
});

Use Extend

const testReact = test.browser.extend(async ({ page }) => {
const { default: React } = await import('react');
const { default: ReactDOM } = await import('react-dom');

const mount = (reactElement) => {
ReactDOM.render(reactElement, document.getElementById('root'));
};

await page.goto('https://my-custom-url.com', {
mockHTML: '<div id="root"></div>'
});

// for jsx
window.React = React;

return { mount };
});

// use extend to test
testReact('react tests', ({ mount }) => {
mount(<div>hello xbell</div>);
});