From 27b8a224b020d5c1e60104f9da8e305aaf623f68 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 13 Jan 2022 11:05:02 +0100 Subject: [PATCH] feat: basic example (#513) --- examples/README.md | 1 + examples/basic/README.md | 5 +++++ examples/basic/package.json | 16 ++++++++++++++ .../test/__snapshots__/suite.test.ts.snap | 7 +++++++ examples/basic/test/basic.test.ts | 21 +++++++++++++++++++ examples/basic/test/suite.test.ts | 15 +++++++++++++ examples/basic/vite.config.ts | 12 +++++++++++ pnpm-lock.yaml | 10 +++++++++ 8 files changed, 87 insertions(+) create mode 100644 examples/basic/README.md create mode 100644 examples/basic/package.json create mode 100644 examples/basic/test/__snapshots__/suite.test.ts.snap create mode 100644 examples/basic/test/basic.test.ts create mode 100644 examples/basic/test/suite.test.ts create mode 100644 examples/basic/vite.config.ts diff --git a/examples/README.md b/examples/README.md index 3e5a27db7..951978470 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1,5 +1,6 @@ | Example | Source | Playground | |---|---|---| +| `basic` | [GitHub](https://github.com/vitest-dev/vitest/tree/main/examples/basic) | [Play Online](https://stackblitz.com/github/vitest-dev/vitest/tree/main/examples/basic?terminal=test) | | `lit` | [GitHub](https://github.com/vitest-dev/vitest/tree/main/examples/lit) | [Play Online](https://stackblitz.com/github/vitest-dev/vitest/tree/main/examples/lit?terminal=test) | | `mocks` | [GitHub](https://github.com/vitest-dev/vitest/tree/main/examples/mocks) | [Play Online](https://stackblitz.com/github/vitest-dev/vitest/tree/main/examples/mocks?terminal=test) | | `puppeteer` | [GitHub](https://github.com/vitest-dev/vitest/tree/main/examples/puppeteer) | [Play Online](https://stackblitz.com/github/vitest-dev/vitest/tree/main/examples/puppeteer?terminal=test) | diff --git a/examples/basic/README.md b/examples/basic/README.md new file mode 100644 index 000000000..c2aeeb973 --- /dev/null +++ b/examples/basic/README.md @@ -0,0 +1,5 @@ +# Vitest Demo + +Run `npm test` and change a test or source code to see HMR in action! + +Learn more at https://vitest.dev diff --git a/examples/basic/package.json b/examples/basic/package.json new file mode 100644 index 000000000..f20c051e5 --- /dev/null +++ b/examples/basic/package.json @@ -0,0 +1,16 @@ +{ + "name": "vitest-test", + "private": true, + "main": "index.js", + "license": "MIT", + "type": "module", + "scripts": { + "test": "vitest --ui", + "test:run": "vitest run" + }, + "devDependencies": { + "@vitest/ui": "latest", + "vite": "^2.7.10", + "vitest": "latest" + } +} diff --git a/examples/basic/test/__snapshots__/suite.test.ts.snap b/examples/basic/test/__snapshots__/suite.test.ts.snap new file mode 100644 index 000000000..ecbbcf251 --- /dev/null +++ b/examples/basic/test/__snapshots__/suite.test.ts.snap @@ -0,0 +1,7 @@ +// Vitest Snapshot v1 + +exports[`suite name > snapshot 1`] = ` +{ + "foo": "bar", +} +`; diff --git a/examples/basic/test/basic.test.ts b/examples/basic/test/basic.test.ts new file mode 100644 index 000000000..0f6d96168 --- /dev/null +++ b/examples/basic/test/basic.test.ts @@ -0,0 +1,21 @@ +import { assert, expect, test } from 'vitest' + +// Edit an assertion and save to see HMR in action + +test('Math.sqrt()', () => { + expect(Math.sqrt(4)).toBe(2) + expect(Math.sqrt(144)).toBe(12) + expect(Math.sqrt(2)).toBe(Math.SQRT2) +}) + +test('JSON', () => { + const input = { + foo: 'hello', + bar: 'world', + } + + const output = JSON.stringify(input) + + expect(output).eq('{"foo":"hello","bar":"world"}') + assert.deepEqual(JSON.parse(output), input, 'matches original') +}) diff --git a/examples/basic/test/suite.test.ts b/examples/basic/test/suite.test.ts new file mode 100644 index 000000000..cecb84cce --- /dev/null +++ b/examples/basic/test/suite.test.ts @@ -0,0 +1,15 @@ +import { assert, describe, expect, it } from 'vitest' + +describe('suite name', () => { + it('foo', () => { + assert.equal(Math.sqrt(4), 2) + }) + + it('bar', () => { + expect(1 + 1).eq(2) + }) + + it('snapshot', () => { + expect({ foo: 'bar' }).toMatchSnapshot() + }) +}) diff --git a/examples/basic/vite.config.ts b/examples/basic/vite.config.ts new file mode 100644 index 000000000..31f4c3ffa --- /dev/null +++ b/examples/basic/vite.config.ts @@ -0,0 +1,12 @@ +/// + +// Configure Vitest (https://vitest.dev/config) + +import { defineConfig } from 'vite' + +export default defineConfig({ + test: { + /* for example, use global to avoid globals imports (describe, test, expect): */ + // global: true, + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a8d913486..22918a7c6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -85,6 +85,16 @@ importers: unplugin-vue-components: 0.17.11_5f0e46dd90b19e6d0d01b34ab1022632 vitepress: 0.21.4 + examples/basic: + specifiers: + '@vitest/ui': latest + vite: ^2.7.10 + vitest: latest + devDependencies: + '@vitest/ui': link:../../packages/ui + vite: 2.7.10 + vitest: link:../../packages/vitest + examples/lit: specifiers: happy-dom: '*' -- 2.51.2