Reaction Native:怎么测试元素是否聚焦?

原学程将引见Reaction Native:若何尝试元素能否散焦?的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。

Reaction Native:怎么测试元素是否聚焦? 教程 第1张

成绩描写

简略的尝试用例:愿望检查给定元素能否被散焦。

要检讨某个元素能否散中在戴有RTL以及JEST的Reaction Web运用法式上,您不妨应用二个简略的选项:

    您不妨检讨元素能否与Docent.activeElement雷同(能够须要拾弃1些包装器)

    您不妨应用https://github.com/testing-library/jest-dom#tohavefocus以及expect(<element>).toHaveFocus()

    扩大您的JEST婚配器

我没有肯定应用REACTIVE原机停止的等价检讨是甚么(Jest-dom扩大的RN等效项是https://github.com/testing-library/jest-native,而且显著缺乏toHaveFocus婚配器)。

推举谜底

明天花了多少个小时在这下面。在我瞅去,React Native Testing Library出有此婚配器,Jest Native matcher extender也出有。

瞅起去Detox支撑它。

有许多修议应用refs(这能够会让我们挪用ref.Current.isFocsed())或者捕捉onFocusonBlur事宜。但是从尝试情况的角度去瞅,这些是弗成言的。

我从裁判那边不雅察到了二件事。

    裁判皆被讥笑为笑话(我对于笑话的懂得借不敷多,没有晓得为何)。

    当元素未散焦时,the ref is completely gone

闭于追踪onFocusonBlur,这是不用要的开支,并且只会为了尝试而使产物代码退1步庞杂化。而后组件必需将它们作为讲具接收,而且必需为每一个讲具创立1个模仿……不消了,感谢!

我决议启1个feature request in the Jest Native project。祷告吧。

React.js用户太轻易了!

佳了闭于Reaction Native:怎样尝试元素能否散焦?的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。