采用摩卡,因果报应,并作出反应测试工具来测试这个简单的函数:测试文本值阵营
renderTodoCount() {
const { incompleteCount } = this.props;
const itemWord = incompleteCount === 1 ? 'item' : 'items';
return (
<span className='todo-count'>
<strong>{incompleteCount || 'No'}</strong> {itemWord} left
</span>
);
}
我分裂测试用例分成三种情况:1。incompleteCount=0
,2 incompleteCount=1
,3. incompleteCount=2
。
在第一种情况,我希望下面的输出(或多或少):
<span className='todo-count'>
<strong>No</strong> items left
</span>
和将测试针对。什么其实我(从dump()
)看到的是:
<span class="todo-count" data-reactid=".0.0">
<strong data-reactid=".0.0.0">No</strong><span data-reactid=".0.0.1"></span><span data-reactid=".0.0.2">items</span><span data-reactid=".0.0.3"> left</span>
</span>
有测试主跨内的文本价值的好办法?我正在寻找相当于jQuery中的.val()
或.text()
的东西。
'TestUtils.findRenderedDOMComponentWithClass( '待办事项数')。getDOMNode()。textContent' –
这做到了!谢谢! – fox
不涉及你的问题,但要做条件复数你应该做'const itemWord = incompleteCount!== 0? 'item':'items';' –