TypeError: Cannot read property '_isDestroyed' of undefined
K-Schaeffer-LOG opened this issue · 4 comments
Hello folks,
I'm having this error when rendering a component from a Storybook story.
I think it might be something related to the vue constructor, since the error doesn't happen when commonly rendering this component. Also, the error doesn't happen with any other component rendered from the Storybook story, so I'm not sure why this is happening since I do not have any destroy() call or something like that.
The issue is that this is making my test fail, and I found out that here is a try-finally on the end of render.js, I thought of adding a catch block there, so the error continue to show on console but the test doesn't fail, like other errors that shows on test console.
What do you guys think about it?
To Reproduce Steps to reproduce the behavior:
I do not have a reproduction, the issue is a little bit specific.
Expected behavior
Is just an idea, but perhaps it should only show the error without failing the test.
Screenshots
Related information:
@testing-library/vueversion: 5.8.2Vueversion: 2.6.11nodeversion: 12.9.0npm(oryarn) version: 1.22.15
Relevant code or config (if any)
function cleanupAtWrapper(wrapper) {
if (wrapper.element.parentNode && wrapper.element.parentNode.parentNode === document.body) {
document.body.removeChild(wrapper.element.parentNode);
}
try {
wrapper.destroy();
// Method with catch included
} catch (error) {
console.error(error)
} finally {
mountedWrappers["delete"](wrapper);
}
}Additional context
I'm using the testing-vue of storybook to render, so If you guys have any idea of what is missing on vue constructor to it recognize the isDestroyed I would appreciate.
Hi! 👋 as you mentioned in the issue on testing-vue, it looks like this is an upstream issue originated there?
Hi! wave as you mentioned in the issue on testing-vue, it looks like this is an upstream issue originated there?
Yes, It appears to me that it is originated there.
Regarding the catch block idea, I'm not sure if the lack of it is on purpose to make the test break with an unhandled exception. What do you think of It?
Yeah, maybe we could improve something there… the reason to have a try/finally block is explained on this PR: #142
if we can come up with a valid use case (in form of a current failing test) it would be great!
I see, I don't remember having any other test failing and as I said, this one is probably something on testing-vue so It makes my case too specific... I'll wait for someone's reply there.

