আমি কিছু ইউনিট পরীক্ষার চেষ্টা করছি, আমি একটি জাল উদাহরণ দিয়ে একটি স্যান্ডবক্স তৈরি করেছি https://codesandbox.io/s/wizardly-hooks-32w6l (বাস্তবে আমার একটি ফর্ম আছে)
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;
সুতরাং আমার প্রাথমিক ধারণাটি ছিল গুণমান ফাংশনটি পরীক্ষা করার চেষ্টা করা। এবং এটি করেছেন, যা স্পষ্টতই কাজ করে না
import App from "../src/App";
test("Multiply", function() {
const expected = 21;
const result = App.handleMultiply(3, 7);
expect(result).toBe(expected);
});
আমি পাই
_App.default.handle মাল্টিপ্লাই কোনও ফাংশন নয়
আমার পদ্ধতির সঠিক? যদি হ্যাঁ হয় তবে আমি ফাংশনগুলি কীভাবে পরীক্ষা করব? অন্যথায়, আমি কি অভ্যন্তরীণ ফাংশনগুলির পরিবর্তে ব্যবহারকারীর দৃষ্টিকোণ থেকে পরীক্ষা করা উচিত (এটি আমি যা পড়ি)? আমার কী স্ক্রিনের আউটপুট পরীক্ষা করা উচিত (আমি মনে করি এটি যুক্তিসঙ্গত নয়)?