Closed Benoit-Vasseur closed 3 years ago
Hi!
Looks like you're using Vue 3! As stated in the prerelease, there's no router support yet.
Also types are not updated yet to match the new render()
function. I plan on doing so after porting types back from DefinitelyTyped (here is the PR to port them back to VTL for Vue 2)
@afontcu Thanks for your quick reply :).
Concerning the router, I did a test, it is not the best experience (ts-ignore + router.ready()) but it seems to work :
describe('App', () => {
test('two routes', async () => {
router.push('/')
await router.isReady() // see here : https://vue-test-utils.vuejs.org/v2/guide/vue-router.html#with-a-real-router
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
// @ts-ignore
render(App, { global: { plugins: [router] } })
const elt = await screen.findByText('Home')
fireEvent.click(elt)
await screen.findByText('Welcome to Your Vue.js App')
const about = await screen.findByText('About')
fireEvent.click(about)
await screen.findByText('This is an about page')
})
})
This conversation might help! https://github.com/vuejs/vue-test-utils-next/issues/152
As soon as we find the best way to deal with vue router in vue test utils, I'll make sure it become available here, too :)
It is great, though, that our findByXXX
helps us overcome a lot of limitations when it comes to async navigation 🎉
:tada: This issue has been resolved in version 6.2.0 :tada:
The release is available on:
Your semantic-release bot :package::rocket:
This should be fixed in next
now! It'd be great if you could give it a go and report any other issues :)
Thanks!
Is it possible to get this fix backpatched to version 5? I'm not able to upgrade to Vue 3 yet, but am using defineComponent
with Vue2.7 and running into this same issue. Thanks!
Describe the bug A clear and concise description of what the bug is.
Try to call
render()
on a component define withdefineComponent({...})
. This error is reported by typescript :To Reproduce Steps to reproduce the behavior:
Expected behavior
No TS error
Screenshots
Related information:
@testing-library/vue
version: 6.0.0Vue
version: 3.0Relevant code or config (if any)
To throw away the error I did a shim for vue-testing--library in my project. I am not a TS expect so i do not kwnow if it is a correct shim
Thank you for this great wrapper.
I read some issues that worry me about the routing. Can I easily use a real router with vue-testing-library ? Sadly VTU seems to focus on the mock path :/