Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/vitest-dev/vscode. VS Code extension for Vitest vitest.dev/vscode
testing vitest vscode
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384import * as path from 'node:path'import * as vscode from 'vscode'import { expect } from 'chai'import { TestCase, TestFile, TestFolder, TestSuite, getTestData,} from '../../packages/extension/src/testTreeData'
describe('TestData', () => { const ctrl = vscode.tests.createTestController('mocha', 'Vitest')
function createTestTree(id: string, api: { usesJestTestNamePattern: boolean }) { const filepath = path.resolve(__dirname, `./fixtures/discover/00_simple_${id}.ts`) const uri = vscode.Uri.file(filepath) const folderItem = ctrl.createTestItem( path.dirname(filepath), path.basename(path.dirname(filepath)), uri, ) TestFolder.register(folderItem) const testItem = ctrl.createTestItem(filepath, path.basename(filepath), uri) ctrl.items.add(testItem) const file = TestFile.register(testItem, folderItem, filepath, api as any, { project: '', pool: 'trheads', }) const suiteItem = ctrl.createTestItem(`${filepath}_1`, 'describe', uri) testItem.children.add(suiteItem)
const testItem1 = ctrl.createTestItem(`${filepath}_1_1`, 'test', uri)
const testItem2 = ctrl.createTestItem(`${filepath}_1_2`, 'test 1', uri)
const testItem3 = ctrl.createTestItem(`${filepath}_1_3`, 'test 2', uri)
suiteItem.children.add(testItem1) suiteItem.children.add(testItem2) suiteItem.children.add(testItem3)
const suite = TestSuite.register(suiteItem, testItem, file, false)
const test1 = TestCase.register(testItem1, suiteItem, file, false) const test2 = TestCase.register(testItem2, suiteItem, file, false) const test3 = TestCase.register(testItem3, suiteItem, file, false)
expect(testItem1.parent).to.exist
return { suite, test1, test2, test3 } }
describe('TestFile', () => { it('getTestNamePattern with jest pattern (vitest < 5)', async () => { const { suite, test1, test2, test3 } = createTestTree('jest', { usesJestTestNamePattern: true, })
expect(suite.getTestNamePattern()).to.equal('^\\s?describe') expect(test1.getTestNamePattern()).to.equal('^\\s?describe test$') expect(test2.getTestNamePattern()).to.equal('^\\s?describe test 1$') expect(test3.getTestNamePattern()).to.equal('^\\s?describe test 2$') })
it('getTestNamePattern (vitest 5)', async () => { const { suite, test1, test2, test3 } = createTestTree('vitest', { usesJestTestNamePattern: false, })
expect(suite.getTestNamePattern()).to.equal('^describe') expect(test1.getTestNamePattern()).to.equal('^describe > test$') expect(test2.getTestNamePattern()).to.equal('^describe > test 1$') expect(test3.getTestNamePattern()).to.equal('^describe > test 2$') })
it('throws an error if data was not set', () => { expect(() => getTestData({ label: 'invalid test' } as any)).to.throw( /Test data not found for "invalid test"/, ) }) })})