Tôi đang thử một số thử nghiệm đơn vị, tôi đã tạo một hộp cát với ví dụ giả mạo https://codesandbox.io/s/wizardly-hooks-32w6l (trong thực tế tôi có một mẫu)
class App extends React.Component {
constructor(props) {
super(props);
this.state = { number: 0 };
}
handleSubmit = (number1, number2) => {
this.setState({ number: this.handleMultiply(number1, number2) })
}
handleMultiply = (number1, number2) => {
return number1 * number2
}
render() {
const { number } = this.state;
return (
<div className="App">
<form onSubmit={e => this.handleSubmit(3, 7)}>
<input type="submit" name="Submit" value="Multiply" />
</form>
<Table number={number} />
</div>
);
}
}
export default App;
Vì vậy, ý tưởng ban đầu của tôi là thử kiểm tra hàm nhân. Và đã làm điều này, rõ ràng là không hoạt động
import App from "../src/App";
test("Multiply", function() {
const expected = 21;
const result = App.handleMultiply(3, 7);
expect(result).toBe(expected);
});
tôi có
_App.default.handleMultiply không phải là một chức năng
Là cách tiếp cận của tôi phải không? Nếu có thì làm thế nào để tôi kiểm tra các chức năng? Khác, tôi có nên kiểm tra từ quan điểm người dùng thay vì cho các chức năng nội bộ (đây là những gì tôi đọc)? Tôi có nên kiểm tra đầu ra trên màn hình không (tôi không nghĩ điều này hợp lý)?