Skip to content
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

Cannot destructure property 'vueApp' of 'globalThis.__unctx__.get(...).tryUse(...)' as it is undefined. #752

Closed
Geestig opened this issue Feb 9, 2024 · 2 comments

Comments

@Geestig
Copy link

Geestig commented Feb 9, 2024

Environment



Reproduction

I simply follow the getting started and this works up until I try to use mountSuspended or renderSuspended. I try a basic test as following:

import { describe, expect, it } from 'vitest';
import { renderSuspended } from '@nuxt/test-utils/runtime';

import { createI18n } from 'vue-i18n';

import nlBE from '@/i18n/nl-BE';
import Landing from '@/pages/index.vue';

const i18n = createI18n({
  locale: 'nl-BE',
  messages: {
    'nl-BE': nlBE
  }
});

const config = {
  global: {
    plugins: [i18n]
  }
};

describe('Landing Page', () => {
  it('renders a webpage', async () => {
    const component = await renderSuspended(Landing, config);
    expect(component.html()).toMatchSnapshot();
  });
});

This returns as error "Cannot destructure property 'vueApp' of 'globalThis.unctx.get(...).tryUse(...)' as it is undefined."

Another issue I sometimes get is the following: (not sure if related)

image

Describe the bug

While following the getting started for nuxt/test-utils I come across the following error:

Cannot destructure property 'vueApp' of 'globalThis.__unctx__.get(...).tryUse(...)' as it is undefined.

This happens as soon as I try to import anything from @nuxt/test-utils/runtime. Changing environment to jsdom, happy-dom or nuxt does not change anything.

Additional context

No response

Logs

No response

Copy link
Contributor

Would you be able to provide a reproduction? 🙏

More info

Why do I need to provide a reproduction?

Reproductions make it possible for us to triage and fix issues quickly with a relatively small team. It helps us discover the source of the problem, and also can reveal assumptions you or we might be making.

What will happen?

If you've provided a reproduction, we'll remove the label and try to reproduce the issue. If we can, we'll mark it as a bug and prioritise it based on its severity and how many people we think it might affect.

If needs reproduction labeled issues don't receive any substantial activity (e.g., new comments featuring a reproduction link), we'll close them. That's not because we don't care! At any point, feel free to comment with a reproduction and we'll reopen it.

How can I create a reproduction?

We have a couple of templates for starting with a minimal reproduction:

👉 https://stackblitz.com/github/nuxt/test-utils/tree/main/examples/app-vitest
👉 https://stackblitz.com/github/nuxt/test-utils/tree/main/examples/app-jest
👉 https://stackblitz.com/github/nuxt/test-utils/tree/main/examples/module

A public GitHub repository is also perfect. 👌

Please ensure that the reproduction is as minimal as possible. See more details in our guide.

You might also find these other articles interesting and/or helpful:

@Geestig
Copy link
Author

Geestig commented Feb 16, 2024

This is no longer an issue and was caused by some package versions that didn't agree with each other.

@Geestig Geestig closed this as completed Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants