Вот пример тестирования `watch` с использованием Vue Test Utils для Vue 3: ```javascript import { shallowMount } from '@vue/test-utils'; import CompName from '@/components/CompName.vue'; describe('CompName', () => { it('watch src', async () => { const wrapper = shallowMount(CompName); const loadImage = jest.fn(); wrapper.vm.$watch('src', loadImage); await wrapper.setProps({ src: 'new-image.jpg' }); expect(loadImage).toHaveBeenCalled(); }); }); ``` В этом примере мы создаем компонент `CompName` с помощью `shallowMount`. Затем мы определяем функцию `loadImage`, которую мы хотим вызвать при изменении свойства `src`. Далее мы используем `wrapper.vm.$watch('src', loadImage)` для установки наблюдателя за свойством `src` и вызова `loadImage` при его изменении. Затем мы вызываем `await wrapper.setProps({ src: 'new-image.jpg' })`, чтобы изменить свойство `src` компонента. В результате этого наблюдатель вызывается, и функция `loadImage` должна быть вызвана. В конце мы используем `expect(loadImage).toHaveBeenCalled()`, чтобы проверить, что функция `loadImage` действительно была вызвана.