跳到主要内容

快速开始

简介

XBell 是一个现代 Web 测试框架,它很好地结合了单元测试和 E2E 测试。

同时你可以自由地选择在 Node.js 或浏览器中进行测试。

安装

$ npm create xbell

# install browsers
$ npm run install:browser

$ npm test

Writing Tests

Way 1: Node.js Testing

Test the code in nodejs

test-nodejs.test.js
import { test, expect } from 'xbell';
// import to nodejs
import { add } from './add';

test('test the code in nodejs', () => {
expect(add(1, 1)).toBe(2);
});

Way 2: Browser Testing

Test the code in browser

test-browser.test.js
import { test } from 'xbell';

test.browser('test the code in browser', async ({ expect }) => {
// 1. import to browser
const { add } = await import('./add');
// 2. expect in browser
expect(add(1, 1)).toBe(2);
});

Way 3: Nodejs & Browser

You can even run some code in NodeJS and some in the browser in just one case.

Alternatively, you can run the code in browser, make assertions in nodejs.

import { test } from 'xbell';

test('test the code in browser', async ({ page }) => {
// browser page
await page.evalute(async () => {
// 1. import to browser
const { add } = await import('./add');
// 2. render to browser
document.body.innerHTML = `<div>result is ${result}</div>`;
});

// 3. assetion in nodejs
await expect(page).toMatchSnapShot({
name: 'result-screenshot'
});
});