Since Jest v26.6.1, the mock method changed (see this commit 30e8020362) to rely on `Object.defineProperty` in some cases.
This breaks spying on proxy's methods, because even if Jest is properly calling `Object.defineProperty`, the cached value in the `get` section of the proxy is never updated, and the spy is in fact never used.
This is easily reproducible as vue-next already uses a version of jest with these changes.
This is blocking projects (like vue-test-utils-next and vue-cli) to update to recent Jest versions.
This commit adds a `defineProperty` method to the proxy handler, that properly updates the defined value in the cache.