Skip to content

cy.mount should remove the last mounted component if called multiple times in same test #24329

@ZachJW34

Description

@ZachJW34

Current behavior

Scenario:

it('calls mount twice', () => {
  cy.mount(MyApp)
  cy.mount(MyApp)
})

Framework dependent behavior:

  • Angular: Throws error upon second mount
  • Vue: Mounts multiple components
  • Svelte: Mounts multiple components
  • React: Removes and remounts
  • Vue2: Mounts multiple components

Desired behavior

The last component mounted should be removed from the DOM/cleaned up.

Test code to reproduce

import HelloWorld from "./components/HelloWorld.vue";

it("default", () => {
  cy.mount(HelloWorld, { props: { msg: "Component 1" } });
  cy.mount(HelloWorld, { props: { msg: "Component 2" } });
  cy.mount(HelloWorld, { props: { msg: "Component 3" } });
});

Screen Shot 2022-10-20 at 5 11 51 PM

Cypress Version

10.10.0

Node version

v16.17.1

Operating System

macOS 12.4

Debug Logs

No response

Other

No response

Metadata

Metadata

Assignees

Labels

CTIssue related to component testing

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions