ExpoIntermediate
Debugging ও जेস্ট tests
Metro log, DevTools, jest + testing-library — workflow।
7টি অংশবাংলা ভাষায়
- Metro bundler log — terminal-এ console output
- React DevTools — components, hooks, props
- Dev Menu —
rreload,mdev menu (device-এ shake) - console filter —
Applicationprefix-এ নেটিভ log
Unit test — jest + @testing-library/react-native:
__tests__/TaskItem.test.tsxtsx
tsx
import { render, fireEvent, screen } from "@testing-library/react-native";
import TaskItem from "../components/TaskItem";
test("toggle calls onToggle with task id", async () => {
const onToggle = jest.fn();
const task = { id: "1", title: "দুধ", done: false };
render(<TaskItem task={task} onToggle={onToggle} />);
fireEvent.press(screen.getByText("দুধ"));
expect(onToggle).toHaveBeenCalledWith("1");
});terminalbash
bash
npx jestAsyncStorage-কে test-এ mock:
jest.mock("@react-native-async-storage/async-storage", () =>
require("@react-native-async-storage/async-storage/jest/async-storage-mock")
);debug-এর শুরুর প্রশ্ন
সমস্যা হলে প্রথম প্রশ্ন — "console-এ কী আসছে?"। Metro log-এ error stack পড়ে ডিবাগ শুরু করুন।
শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।