You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
В обоих тестах мы вызываем `shallowMount`, затем передаём похожий объект `propsData`. Мы можем это исправить, используя фабрику. Под фабрикой понимают функцию, которая возвращает объект – она производит объекты, отсюда и её название.
154
+
В обоих тестах мы вызываем `mount`, затем передаём похожий объект `propsData`. Мы можем это исправить, используя фабрику. Под фабрикой понимают функцию, которая возвращает объект – она производит объекты, отсюда и её название.
Выше приведена функция, которая отрисовывает компонент `SubmitButton` через `shallowMount`. Мы можем передавать любые данные первым аргументом в функцию `factory`. Давайте перепишем тесты, придерживаясь принципа DRY.
168
+
Выше приведена функция, которая отрисовывает компонент `SubmitButton` через `mount`. Мы можем передавать любые данные первым аргументом в функцию `factory`. Давайте перепишем тесты, придерживаясь принципа DRY.
Copy file name to clipboardExpand all lines: src/ru/simulating-user-input.md
+8-8
Original file line number
Diff line number
Diff line change
@@ -22,8 +22,8 @@
22
22
<input type="submit">
23
23
</form>
24
24
25
-
<div
26
-
class="message"
25
+
<div
26
+
class="message"
27
27
v-if="submitted"
28
28
>
29
29
Спасибо за ваше сообщение, {{ username }}.
@@ -57,7 +57,7 @@
57
57
</script>
58
58
```
59
59
60
-
Всё достаточно просто: мы устанавливаем `submitted` в значение `true`, когда форма отправлена. После чего появляется `<div>` c благодарственным сообщением.
60
+
Всё достаточно просто: мы устанавливаем `submitted` в значение `true`, когда форма отправлена. После чего появляется `<div>` c благодарственным сообщением.
awaitwrapper.vm.$nextTick() // "Ждём пока обновится DOM, перед тем как продолжить тестирование"
91
+
awaitwrapper.vm.$nextTick() // "Ждём пока обновится DOM, перед тем как продолжить тестирование"
92
92
```
93
93
94
94
Иногда вы можете тестировать, не дожидаясь `nextTick`, но если ваши компоненты начинают усложняться, вы можете попасть в состояние гонки, и ваша проверка выполнится до того, как Vue обновит DOM. Вы можете узнать больше об этом в официальной [документации vue-test-utils](https://vue-test-utils.vuejs.org/ru/guides/#%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9-n%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8).
Также обновим `<template>`, используя новый метод `handleSubmitAsync`
164
+
Также обновим `<template>`, используя новый метод `handleSubmitAsync`
165
165
166
166
```vue
167
167
<template>
@@ -217,7 +217,7 @@ it("Показывает сообщение после отправки", () =>
217
217
218
218
Теперь, вместо того, чтобы использовать реальную http-библиотеку, присвоенную в `Vue.prototype.$http`, будет взята наша мок реализация. Это хорошо тем, что мы можем контролировать окружение теста и получать одинаковый результат.
219
219
220
-
Запустив `yarn test:unit`, наш тест не пройдёт проверку:
220
+
Запустив `yarn test:unit`, наш тест не пройдёт проверку:
0 commit comments