У меня есть управляемый Reactjs проект, в котором элемент имеет условный лог c для отображения / не отображения.
С помощью этой строки я могу найти элемент, когда должно отображаться условие.
expect(wrapper.exists(".class-selector")).to.equal(true);
Однако я пробовал несколько разных вещей, чтобы убедиться, что он не отображается при определенных условиях, и все, что я получаю, это ошибки от Enzyme. Последняя попытка:
expect(wrapper.find(".class-selector").length).to.equal(0);
С помощью ручных средств визуального просмотра через браузер я могу проверить, что при изменении условий они соответственно скрываются / отображаются. Так что я знаю, что он работает, как ожидалось. Я просто не могу заставить Enzyme подтвердить это за меня.
EDIT Включая сообщение об ошибке из приведенного выше примера.
>> FAIL: should not show element ID element_wrapper (1ms)
AssertionError: expected 1 to equal 0
at Assertion.assertEqual <__intern/browser_modules/chai/chai.js:776:12>
at Assertion.ctx.<computed> [as equal] <__intern/browser_modules/chai/chai.js:4192:25>
at Test.test <build/js/webpack+accountant-pap-ui:/test/unit/widgets/globalBenefitsDashboard/components/FeaturedBenefit/FeaturedBenefitTest.js:181:60>
at <__intern/lib/Test.js:191:24>
at <__intern/browser_modules/dojo/Promise.js:156:41>
at runCallbacks <__intern/browser_modules/dojo/Promise.js:19:22>
at <__intern/browser_modules/dojo/Promise.js:103:21>
at run <__intern/browser_modules/dojo/Promise.js:51:33>
at CallbackQueue.drain <__intern/browser_modules/dojo/CallbackQueue.js:39:35>
at MutationObserver.<anonymous> <__intern/browser_modules/dojo/nextTick.js:52:27>
>> 1/10 tests failed