Базовое утверждение текста черного ящика в ферментном мелком рендере - PullRequest
0 голосов
/ 17 сентября 2018

Допустим, у меня есть следующий компонент:

const MyComponent = () => (
  <div>
    <Foo>
      <Bar>
        <Lee>
          Hello!
        </Lee>
      </Bar>
    </Foo>
  </div>
)

Я хочу сделать его поверхностно, и я хочу проверить его в «черном ящике», чтобы у меня не было никаких знаний о подкомпонентах (Foo, Bar, Lee), и в конечном итоге я просто хочу убедиться, что он содержит текст «Hello!».

shallow(<MyComponent />).text()

просто возвращает <Foo />.

shallow(<MyComponent />).html()

Похоже, что он на самом деле копается в реализации каждого из этих подкомпонентов, может быть, побеждает цель быть мелкой (и, конечно, не тестом черного ящика)?

shallow(<MyComponent />).debug()

Честно говоря, это дает мнето, что я ожидал и мог бы делать заявления против, но это явно не намерение (и я бы предположил, не оптимизирован для производительности).

В документах это показывает что-то вроде

shallow(<MyComponent />).find("Lee").text()

, но это сочетает мой тест с реализацией MyComponent, что, безусловно, кажется нежелательным (по крайней мере, сделать его тестом белого ящика).

Какой лучший способ использовать мелкое для созданияутверждение, что компонент имеет содержаниеВы хотите, чтобы это было для теста черного ящика?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...