Releases: nuxt/test-utils
v3.10.0
π Enhancements
π©Ή Fixes
- runtime-utils: Resolve
to
inRouterLink
stub (#687) - Mark
afterAll
andsetup
hooks as async (#702) - module: Always append import when mocking (#701)
π‘ Chore
β Tests
- Update config key (25060645)
- Add example test for nuxt-injected value (#663)
- Update to actually use
$t
(#675)
π€ CI
- Fetch-depth: 0 (269df289)
β€οΈ Contributors
- Bobbie Goede (@BobbieGoede)
- Daniel Roe (@danielroe)
- Julien Huang (@huang-julien)
- Albert Brand (@AlbertBrand)
- Steve Pewsey (@StevenPewsey)
v3.9.0
π Highlights
v3.9.0 is a significant release of @nuxt/test-utils
. Most notably:
- We've split it out from the core nuxt/nuxt repository for a decoupled release cycle.
- We've merged in
nuxt-vitest
andvitest-environment-nuxt
into a single repository for both runtime unit testing and e2e/browser testing with Nuxt. - We've added documentation on https://nuxt.com/docs/getting-started/testing to get you started.
β Upgrading
... from @nuxt/test-utils
If you were upgrading from @nuxt/test-utils
, the only significant change is to update your imports to @nuxt/test-utils/e2e
(for clarity).
If you were using the jest
runner, this should now be auto-detected and you can remove runner: 'jest'
from your test configuration.
... from nuxt-vitest
If you previously used nuxt-vitest
, we have now merged it into @nuxt/test-utils
, as well as implementing a range of fixes.
π Here are the required steps.
-
Uninstall
nuxt-vitest
npm remove nuxt-vitest
-
Update your
vitest
versions to v1, and update@nuxt/test-utils
andvitest-environment-nuxt
to the latest versions:"devDependencies": { - "@nuxt/test-utils": "^3.8.1", + "@nuxt/test-utils": "^3.9.0", - "@vitest/coverage-v8": "0.33.0", + "@vitest/coverage-v8": "^1.0.4", "@vue/test-utils": "^2.4.3", - "nuxt-vitest": "^0.11.5", - "vitest": "^0.33.0", + "vitest": "^1.0.4", + "vitest-environment-nuxt": "^1.0.0" },
-
Update your
nuxt.config
if you have added thenuxt-vitest
module to it, and update the configuration fromvitest
totestUtils
:export default defineNuxtConfig({ modules: [ - 'nuxt-vitest' + '@nuxt/test-utils/module' ], - vitest: {} + testUtils: {} })
-
Update any imports from
nuxt-vitest
andvitest-environment-nuxt
and@nuxt/test-utils
:- import { mountSuspended } from 'nuxt-vitest/utils' // or 'vitest-environment-nuxt/utils' + import { mountSuspended } from '@nuxt/test-utils/runtime' - import { defineVitestConfig } from 'vitest-environment-nuxt/config' // or 'nuxt-vitest/config' + import { defineVitestConfig } from '@nuxt/test-utils/config' - import { setup, $fetch } from '@nuxt/test-utils' + import { setup, $fetch } from '@nuxt/test-utils/e2e'
-
Ensure vitest is running in a module context (either by checking you have
type: 'module'
set in yourpackage.json
, or by renaming yourvitest.config
file tovitest.config.mts
orvitest.config.mjs
.
If you encounter any problems with this upgrade path, please let us know by raising an issue. π
π Changelog
π Enhancements
- Add nuxt-vitest re-exports (#230)
- Add nuxt-vitest and vitest-environment-nuxt code and tests (f4ae58ac)
- Use internal implementation of nuxt-vitest (#235)
- e2e: Auto-detect jest runner (ae37b0ee)
β οΈ Read .env.test + allow overriding with nuxt.dotenv (#655)
π©Ή Fixes
- Add @nuxt/test-utils-nightly to deps to inline (0caf44d0)
- Use implied .d.mts types (d9694f21)
- Add setupState type to mountSuspended return type (#400)
- Add runtime fixture to workspace and address regressions (#240)
- Opt-in to future vitest option (#247)
- Use vite-ignore for playwright dynamic import (c1ac4a08)
- Do not set process.browser globally (#250)
- Support transpiling nuxt nightly releases (c63f69c8)
- Rewrite mock plugin for compat with vite 5/rollup 4 (d0ba5af3)
- Do not skip transforms on test files (3bbcc1ea)
- Add @vitest/ui to peer deps (7f4f6053)
- Use buildDir option (#596)
β οΈ Load nuxt app within setupFiles (#260)- Teardown build directories after tests (#597)
- Import useRouter explicitly in entry (129d8335)
- Return absolute path for stub entry (180bb306)
- Don't return absolute path in dev mode (f47dd9a3)
- Clone overrides (df84d0c1)
- Skip vite-plugin-vue-inspector:post plugin (8a6a0523)
- Clean up wrappers when calling renderSuspended (5b189115)
- Exclude vite-plugin-checker from runtime vitest config (053a5dff)
- Resolve devtools url after vitest config is resolved (1206db79)
- Remove module override of app.rootId (e662c1f0)
- Remove rootId environment option (dead5e3d)
- Add back rootId environment option" (827180ec)
- runtime-utils: Don't stub helpers when shallow (#632)
- Avoid enumerating keys on render context (43b2724b)
- Support typescript entry file (c5806009)
- vitest-environment: Normalise setupFiles before merge (#653)
- module: Close nuxt before shutting down (17cf9435)
- runtime: Do not assign readonly setup state (8d799275)
- runtime: Implement setProps (522f8bf5)
- vitest-environment: Handle different entry format (5c07bb48)
- runtime: Import reactive and unref (d68cdae9)
π Refactors
- Move to monorepo (#31)
- Split core utils to core/ (f144cb40)
- Clean up internal code imports (#245)
- Use defu rather than mergeConfig from vite (#246)
- Further split vitest from vite config (ef58e4cb)
- Split out mock transform plugin w/ tests (a37fa408)
- Remove rollup implementation of transform plugin (71345967)
- module: Rename config key to testUtils (c2b09732)
π Documentation
- playground: Demo usage of co-exists unit and nuxt testing (#6)
- Add JSDoc comments (#205)
- Add documentation for mountSuspended (#227)
- Add basic README and missing LICENCE (51eb9de2)
- Remove links to nuxt-vitest (254605df)
- Update links to nuxt docs on testing (2e619a89)
π¦ Build
- Fix build issues and correct dependencies (3e2f8b29)
- Move runtime-utils.mjs -> runtime-utils/index.mjs (#634)
β οΈ Use /runtime subpath export (de9a2a81)- Prefer /e2e subpath export (88952fb0)
β Tests
- Update playground to 0.4.5 devtools (7d4a6b28)
- Add useHead to fixture (6d4bb420)
- Add type tests (9de62b6e)
- Await 2 ticks after navigation for route to update (cb6c1e3a)
- Correct test assertion (c644bdb3)
- Avoid depending on specific number of ticks (e98d71ea)
- Update test to use server rather than live api (7df6be28)
- Add a few more basic examples for e2e tests (490753c4)
- Add jest example/test (#224)
- Add type test (#241)
- Make indexeddb plugin client-only ([047...