警告:propType 失败:提供给 sportsMockUpStandard 的道具 rrrr 无效
Warning: Failed propType: Invalid prop `rrrr` supplied to `sportsMockUpStandard`
https://gist.github.com/js08/dfeab2df8b68240297eb
- 我正在尝试为 jsx 文件编写测试用例
- 在这里我可以传递道具类型...
- 但不是我适当传递道具类型的地方...
- 当我 运行 我的测试用例时出现错误..
- 提供我的错误、测试用例和下面的代码...
- 警告:propType 失败:提供给
sportsMockUpStandard
的道具 rrrr
无效。
- 不确定如何让它工作..
- 它很高兴在这个函数调度..
你能告诉我我应该如何把它放在我的测试用例中吗
**error**
---
1) shallow renderer tests for sports-template-standard should render correctly:
警告:propType 失败:提供给 sportsMockUpStandard
的道具 rrrr
无效。
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'}]}
/>);
// shallowRenderer.render(<sportsMockUpStandard
//layout= {{id: 100, text: 'hello world'}} />);
console.log("here2");
});
});
```
首先查看您收到的警告:
Warning: Failed propType: Invalid prop rrrr supplied to
sportsMockUpStandard.
这告诉您您提供给 sportsMockUpStandard
的 rrrr
属性 有问题。那么让我们来看看吧。在 sportsMockUpStandard
你有
rrrr: React.PropTypes.oneOfType([
React.PropTypes.func,
React.PropTypes.object
]),
所以它需要一个函数或一个对象。但是,在测试用例中,您创建了一个 sportsMockUpStandard
元素,其中 rrrr
是一个数组:
rrrr= {[{rrrr},{id: 100, text: 'hello world'}]}
加上React.PropTypes.array
就可以了
更新:
我真的建议从了解 Mocha 的工作原理开始。您当前的测试不检查任何内容,但在执行 done() 时才结束。当你使用 chai 时,正常的设置是这样的:
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;
}
那么您的测试将如下所示:
describe('addOne', () => {
it('should take a number and increment it by one', () => {
var number = 5;
var newNumber = addOne(number);
expect(newNumber).to.equal(6); // Success!!
})
})
一旦掌握了基础知识,测试 React 组件应该会容易得多。
https://gist.github.com/js08/dfeab2df8b68240297eb
- 我正在尝试为 jsx 文件编写测试用例
- 在这里我可以传递道具类型...
- 但不是我适当传递道具类型的地方...
- 当我 运行 我的测试用例时出现错误..
- 提供我的错误、测试用例和下面的代码...
- 警告:propType 失败:提供给
sportsMockUpStandard
的道具rrrr
无效。 - 不确定如何让它工作..
- 它很高兴在这个函数调度..
你能告诉我我应该如何把它放在我的测试用例中吗
**error** --- 1) shallow renderer tests for sports-template-standard should render correctly:
警告:propType 失败:提供给
sportsMockUpStandard
的道具rrrr
无效。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'}]}
/>);
// shallowRenderer.render(<sportsMockUpStandard //layout= {{id: 100, text: 'hello world'}} />); console.log("here2"); }); });
```
首先查看您收到的警告:
Warning: Failed propType: Invalid prop rrrr supplied to sportsMockUpStandard.
这告诉您您提供给 sportsMockUpStandard
的 rrrr
属性 有问题。那么让我们来看看吧。在 sportsMockUpStandard
你有
rrrr: React.PropTypes.oneOfType([
React.PropTypes.func,
React.PropTypes.object
]),
所以它需要一个函数或一个对象。但是,在测试用例中,您创建了一个 sportsMockUpStandard
元素,其中 rrrr
是一个数组:
rrrr= {[{rrrr},{id: 100, text: 'hello world'}]}
加上React.PropTypes.array
就可以了
更新: 我真的建议从了解 Mocha 的工作原理开始。您当前的测试不检查任何内容,但在执行 done() 时才结束。当你使用 chai 时,正常的设置是这样的:
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;
}
那么您的测试将如下所示:
describe('addOne', () => {
it('should take a number and increment it by one', () => {
var number = 5;
var newNumber = addOne(number);
expect(newNumber).to.equal(6); // Success!!
})
})
一旦掌握了基础知识,测试 React 组件应该会容易得多。