https://gist.github.com/js08/dfeab2df8b68240297eb
rrrr
的道具sportsMockUpStandard
无效。你能告诉我如何把它放在我的测试用例中
**error**
---
1) shallow renderer tests for sports-template-standard should render correctly:
警告:propType失败:提供给rrrr
的道具sportsMockUpStandard
无效。
test cases
---
describe('shallow renderer tests for sports-template-standard ', function() {
let shallowRenderer = TestUtils.createRenderer();
console.log("shallowRenderer" + JSON.stringify(shallowRenderer));
it('should render correctly', () => {
// var rightPanel ="some string";
var layout ="some string";
var hasSidebar = function(){
done();
}
console.log("here1");
// this.props.layout.rightPanel.exists = 'some value';
shallowRenderer.render(<sportsMockUpStandard
sidebar= {[{hasSidebar},{id: 100, text: 'hello world'}]}
/&GT);
// shallowRenderer.render(<sportsMockUpStandard
//layout= {{id: 100, text: 'hello world'}} />);
console.log("here2");
});
});
```
答案 0 :(得分:1)
通过查看您收到的警告开始:
警告:propType失败:提供的prop rrrr无效 sportsMockUpStandard。
这告诉您,您提供给rrrr
的{{1}}属性出现了问题。那么让我们来看看。在sportsMockUpStandard
你有
sportsMockUpStandard
所以它期待一个函数或一个对象。但是,在测试用例中,您创建了一个rrrr: React.PropTypes.oneOfType([
React.PropTypes.func,
React.PropTypes.object
]),
元素,其中sportsMockUpStandard
是一个数组:
rrrr
只需添加rrrr= {[{rrrr},{id: 100, text: 'hello world'}]}
,就可以了。
更新的 我真的建议首先了解Mocha的工作原理。您当前的测试不会检查任何内容,但只是在执行完()时完成。使用chai时,正常的设置是这样的:
React.PropTypes.array
所以假设你有一个功能:
describe('the thing you want to test', () => {
it('should do something', () => {
/* Run some code */
expect(/*something*/).to.equal(/*something*/);
})
})
然后您的测试将如下所示:
function addOne(number){
return number + 1;
}
一旦掌握了基础知识,测试React组件应该会容易得多。