Skip to content

spyOn does not preserve static properties on functions #6765

@akellbl4

Description

@akellbl4

Describe the bug

When trying to spy on a function that has static properties, the spy function won't inherit the properties.
I couldn't find any way to add them to create a spy from the original function.

Reproduction

Abstract example
https://stackblitz.com/edit/vitest-dev-vitest-uvuhzq?file=test%2Fmain.test.ts

System Info

System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 18.20.3 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.2.3 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  npmPackages:
    @vitest/ui: latest => 2.1.3 
    vite: latest => 5.4.9 
    vitest: latest => 2.1.3

Used Package Manager

npm

Validations

Metadata

Metadata

Assignees

No one assigned

    Labels

    p2-edge-caseBug, but has workaround or limited in scope (priority)

    Type

    Projects

    Status

    Approved

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions