測試工具集

2019-08-14 14:29 更新

React.addons.TestUtils使得在你選擇的測試框架中測試React組件變得簡單(我們使用Jest)。

模擬

Simulate.{eventName}(DOMElement element, object eventData)

模擬事件在DOM節(jié)點上派發(fā),附帶可選的eventData事件數(shù)據(jù)。這可能是在ReactTestUtils中最有用的工具。

使用示例:

var node = this.refs.input.getDOMNode();
React.addons.TestUtils.Simulate.click(node);
React.addons.TestUtils.Simulate.change(node, {target: {value: 'Hello, world'}});
React.addons.TestUtils.Simulate.keyDown(node, {key: "Enter"});

Simulate有一個方法適用于每個事件,這些事件都是React能識別的。

renderIntoDocument

ReactComponent renderIntoDocument(ReactComponent instance)

把一個組件渲染成一個在文檔中分離的DOM節(jié)點。這個函數(shù)需要DOM。

mockComponent

object mockComponent(function componentClass, string? mockTagName)

傳遞一個虛擬的組件模塊給這個方法,給這個組件擴(kuò)充一些有用的方法,讓組件能夠被當(dāng)成一個React組件的仿制品來使用。這個組件將會變成一個簡單的<div>(或者是其它標(biāo)簽,如果mockTagName提供了的話),包含任何提供的子節(jié)點,而不是像往常一樣渲染出來。

isElementOfType

boolean isElementOfType(ReactElement element, function componentClass)

如果element是一個類型為React componentClass的React元素,則返回true。

isDOMComponent

boolean isDOMComponent(ReactComponent instance)

如果instance是一個DOM組件(例如<div>或者<span>),則返回true。

isCompositeComponent

boolean isCompositeComponent(ReactComponent instance)`

如果instance是一個合成的組件(通過React.createClass()創(chuàng)建),則返回true。

isCompositeComponentWithType

boolean isCompositeComponentWithType(ReactComponent instance, function componentClass)

如果instance是一個合成的組件(通過React.createClass()創(chuàng)建),此組件的類型是React componentClass,則返回true。

findAllInRenderedTree

array findAllInRenderedTree(ReactComponent tree, function test)

遍歷tree中所有組件,搜集test(component)返回true的所有組件。就這個本身來說不是很有用,但是它可以為其它測試提供原始數(shù)據(jù)。

scryRenderedDOMComponentsWithClass

array scryRenderedDOMComponentsWithClass(ReactComponent tree, string className)

查找組件的所有實例,這些實例都在渲染后的樹中,并且是帶有className類名的DOM組件。

findRenderedDOMComponentWithClass

ReactComponent findRenderedDOMComponentWithClass(ReactComponent tree, string className)

類似于scryRenderedDOMComponentsWithClass(),但是它只返回一個結(jié)果,如果有其它滿足條件的,則會拋出異常。

scryRenderedDOMComponentsWithTag

array scryRenderedDOMComponentsWithTag(ReactComponent tree, string tagName)

在渲染后的樹中找出所有組件實例,并且是標(biāo)簽名字符合tagName的DOM組件。

findRenderedDOMComponentWithTag

ReactComponent findRenderedDOMComponentWithTag(ReactComponent tree, string tagName)

類似于scryRenderedDOMComponentsWithTag(),但是它只返回一個結(jié)果,如果有其它滿足條件的,則會拋出異常。

scryRenderedComponentsWithType

array scryRenderedComponentsWithType(ReactComponent tree, function componentClass)

找出所有組件實例,這些組件的類型為componentClass

findRenderedComponentWithType

ReactComponent findRenderedComponentWithType(ReactComponent tree, function componentClass)

類似于scryRenderedComponentsWithType(),但是它只返回一個結(jié)果,如果有其它滿足條件的,則會拋出異常。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號