Как передать реквизит на этапе настройки и тестирования, не перезаписывая вещи? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть тест, который во время процесса установки я передаю компоненту по умолчанию. Затем в тесте я использую setProps, чтобы передать в него более конкретные данные. Проблема заключается в том, что как данные по умолчанию, так и новые данные вложены в один и тот же реквизитный объект с именем org, и Vue явно жалуется на то, что значение по умолчанию перезаписывается. Есть ли способ обойти это?

[Vue warn]: Старайтесь не менять объект напрямую, так как значение будет перезаписываться всякий раз, когда родительский компонент будет перерисовываться. Вместо этого используйте данные или вычисляемое свойство, основанное на значении реквизита. Подставка изменена: «optimisticClearFilters»

Вот пример. Когда я делаю это из теста, кажется, что он переопределяет все org ключей.

wrapper.setProps ({org: {deptSize: [0, 5]}});

1 Ответ

0 голосов
/ 09 ноября 2019

Например, если у меня есть:

var posts = {
  status: 6
  rows: [{}, {}, {}]
  details: "some details",
  amount: 1 
}

И я хочу протестировать компонент с измененным значением status без исключения, я делаю:

post.status = status
wrapper.setProps({ post: { ...post} })
...