Nur*_*ihu 6 javascript unit-testing reactjs
请我为下面的reactjs页面写一个unitTest.
export default class Collapsible extends React.Component {
static propTypes = {
title: React.PropTypes.string,
children: React.PropTypes.any,
};
render() {
const { title } = this.props;
return (
<details>
<summary>{title}</summary>
{this.props.children}
</details>
);
}
}
Run Code Online (Sandbox Code Playgroud)
describe('Collapsible', ()=>{
it('works', ()=>{
let renderer = createRenderer();
renderer.render(<Collapsible title="MyTitle"><span>HEllo</span></Collapsible>);
let actualElement = renderer.getRenderOutput();
let expectedElement = (<details><summary>title</summary>Details</details>);
expect(actualElement).toEqual(expectedElement);
});
});
Run Code Online (Sandbox Code Playgroud)
但是,我的测试是在上面的标题中抛出错误,我怀疑我在Collapsible上的道具(即标题和孩子)没有从测试中分配.请问我该如何解决这个问题?非常感谢任何帮助或指导.
Nur*_*ihu 15
谢谢你的时间.事实证明我错误地将Collapsible导入测试文件.以下是我之前的导入方式
import React from 'react';
import expect from 'expect';
import {createRenderer} from 'react-addons-test-utils';
import { Collapsible } from '../Collapsible.js';
Run Code Online (Sandbox Code Playgroud)
改为之后
import React from 'react';
import expect from 'expect';
import {createRenderer} from 'react-addons-test-utils';
import Collapsible from '../Collapsible';
Run Code Online (Sandbox Code Playgroud)
它似乎工作.我以前导入Collapsible作为现有的变量/对象.通过阅读文档和很少的教程,我意识到.
| 归档时间: |
|
| 查看次数: |
15414 次 |
| 最近记录: |