मैं कुछ यूनिट परीक्षण की कोशिश कर रहा हूं, मैंने एक नकली उदाहरण के साथ सैंडबॉक्स बनाया 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.handleMultiply एक फ़ंक्शन नहीं है
क्या मेरा दृष्टिकोण सही है? यदि हाँ, तो मैं कार्यों का परीक्षण कैसे करूँ? और, क्या मुझे आंतरिक कार्यों के बजाय उपयोगकर्ता के दृष्टिकोण से परीक्षण करना चाहिए (यह वही है जो मैंने पढ़ा है)? क्या मुझे स्क्रीन पर आउटपुट के लिए परीक्षण करना चाहिए (मुझे नहीं लगता कि यह उचित है)?