From d5faef5caaca4c5468f8de598683aac42ede57bb Mon Sep 17 00:00:00 2001 From: Daniel Syddall Date: Wed, 1 Nov 2023 07:34:19 +0000 Subject: [PATCH] fix: support accessing task from test context without accessing fixtures --- packages/runner/src/fixture.ts | 4 ++++ test/core/test/fixture-initialization.test.ts | 14 +++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/runner/src/fixture.ts b/packages/runner/src/fixture.ts index becd8dc0f318..2a710dcda4c7 100644 --- a/packages/runner/src/fixture.ts +++ b/packages/runner/src/fixture.ts @@ -74,6 +74,10 @@ export function withFixtures(fn: Function, testContext?: TestContext) { const usedFixtures = fixtures.filter(({ prop }) => usedProps.includes(prop)) const pendingFixtures = resolveDeps(usedFixtures) + + if (!pendingFixtures.length) + return fn(context) + let cursor = 0 return new Promise((resolve, reject) => { diff --git a/test/core/test/fixture-initialization.test.ts b/test/core/test/fixture-initialization.test.ts index 820ba6f454f7..acb69904831d 100644 --- a/test/core/test/fixture-initialization.test.ts +++ b/test/core/test/fixture-initialization.test.ts @@ -1,5 +1,5 @@ import type { Use } from '@vitest/runner' -import { describe, expect, expectTypeOf, test, vi } from 'vitest' +import { beforeEach, describe, expect, expectTypeOf, test, vi } from 'vitest' interface Fixtures { a: number @@ -179,4 +179,16 @@ describe('fixture initialization', () => { expect(archive.length).toBe(1) }) }) + + describe('accessing non-fixture context', () => { + const myTest = test.extend({ a: 1 }) + + beforeEach(async ({ task }) => { + expect(task).toBeTruthy() + }) + + myTest('accessing non-fixture context', ({ task }) => { + expect(task).toBeTruthy() + }) + }) })