最近我学习测试用开玩笑和酶反应,这似乎很难理解一个单元测试是什么,我的代码如何正确测试反应组分?
import React from "react";
class App extends React.Component {
constructor() {
super();
this.state = {
value: ""
};
this.handleChange = this.handleChange.bind(this);
}
handleChange(e) {
const value = e.target.value;
this.setState({
value
});
}
render() {
return <Nest value={this.state.value} handleChange={this.handleChange} />;
}
}
export const Nest = props => {
return <input value={props.value} onChange={props.handleChange} />;
};
export default App;
和我的测试
import React from "react";
import App, { Nest } from "./nest";
import { shallow, mount } from "enzyme";
it("should be goood",() => {
const handleChange = jest.fn();
const wrapper = mount(<App />);
wrapper.find("input").simulate("change", { target: { value: "test" } });
expect(handleChange).toHaveBeenCalledTimes(1);
});
海事组织,嘲笑将拦截对App
,
如果这是完全错误的,那么使用mock fn和测试被调用的正确方法是什么。
另一个:我搜索了很多,看了类似的情况,似乎这是contra-Unit Test
,
也许我应该分开测试两个部分,我可以测试组件, 测试
<Nest value={value} handleChange={handleChange} />
通过手动传递道具,然后handleChange
模拟change
它通过测试。
但我如何测试两者之间的连接? 我读
一些工作作出反应小组的工作 ...
我不知道我在这种情况下,以测试哪些部分,以及哪些部分react
已经测试并没有需要我来测试。这很混乱。