-
Notifications
You must be signed in to change notification settings - Fork 404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does not work with vitest 1.x.x #567
Comments
@kibertoad Have you followed the with vitest setup guide https://github.com/testing-library/jest-dom#with-vitest ? // In your own vitest-setup.js (or any other name)
import '@testing-library/jest-dom/vitest'
// In vitest.config.js add (if you haven't already)
setupFiles: ['./vitest-setup.js'] |
yup. setupFiles: './test/setup.ts', test/setup.ts: /// <reference types="@lokalise/styled/dist/testing-setup" /> This includes global types (not handled by import below unfortunately)
import '@lokalise/styled/testing-setup'
import '@testing-library/jest-dom/vitest' It works with 0.x vitest, but doesn't with 1.x |
In your {
//..tsconfig.json
"include": ["./test/setup.ts"]
} I would remove the usage of Be great if you could put up an example repo or codesandbox so we can recreate the issue and debug it. |
I had the same issue you had. This is how I fixed it, maybe it helps you. Even though versions of |
I've update to "vitest": "^1.2.0", with the @andykenward docs and everything is working fine for |
Weird that it seems I have everything correctly but I still get the error: The setup file inside import '@testing-library/jest-dom/vitest' My tsconfig.json: {
"include": [
"remix.env.d.ts",
"**/*.ts",
"**/*.tsx",
"./tests/setupFiles/testingLibrary.ts"
],
// ...rest
// baseUrl is "." in compiler options
} My vitest.config.ts file: import { defineConfig } from 'vitest/config'
export default defineConfig({
test: {
coverage: {
include: ['app/**'],
},
clearMocks: true,
globals: true,
environment: 'jsdom',
setupFiles: ['./tests/setupFiles/testingLibrary.ts'],
css: true,
silent: process.env.CI === 'true',
retry: 2,
},
}) ... and my package versions: pnpm -F my-project ls @testing-library/jest-dom vitest typescript
Legend: production dependency, optional only, dev only
my-project /path/to/monorepo/apps/my-project
devDependencies:
@testing-library/jest-dom 6.2.0
typescript 5.3.3
vitest 1.2.0 With all that in place, I still get the error:
I notice one thing though, in the import {type expect} from 'vitest'
import {type TestingLibraryMatchers} from './matchers'
export {}
declare module '@vitest/expect' {
interface JestAssertion<T = any>
extends TestingLibraryMatchers<
ReturnType<typeof expect.stringContaining>,
T
> {}
} I don't have import {type expect} from 'vitest'
import {type TestingLibraryMatchers} from './matchers'
export {}
-declare module '@vitest/expect' {
+declare module 'vitest' {
interface JestAssertion<T = any>
extends TestingLibraryMatchers<
ReturnType<typeof expect.stringContaining>,
T
> {}
} ... it worked as intended. I don't know if it's something related to My workaround was doing by hand what the import * as matchers from '@testing-library/jest-dom/matchers'
import { expect } from 'vitest'
expect.extend(matchers)
declare module 'vitest' { // vitest instead `@vitest/expect`
interface JestAssertion<T = any>
extends matchers.TestingLibraryMatchers<
ReturnType<typeof expect.stringContaining>,
T
> {}
} |
I'm having the same issue after upgrading from 0.34 to 1.2.2 |
I couldn't get it to work. My problem was having the tests in a
|
Facing this same issue with pnpm with monorepos. |
I found out that if you install |
PNPM wont allow the dependencies of dependencies to be accessed from workspaces. You can |
jest-dom TypeScript build breaks if jest-dom assertions (such as
toBeInTheDocument
) are used in vitest files, when using newer version of vitest (1.x)versions
@testing-library/jest-dom
version: 6.2.0node
version: 20.10.0vitest
version: 1.1.3typescript
: 5.3.3@testing-library/react
: 14.1.2Relevant code or config:
Test:
tsconfig.json:
What you did:
Try to build tests via
tsc
What happened:
Reproduction:
See
Relevant code or config
Problem description:
This prevents testing-library from working with newer vitest.
Suggested solution:
Support newer vitest versions within jest-dom.
This may be related to vitest-dev/vitest#4688
The text was updated successfully, but these errors were encountered: