Slide 35
Slide 35 text
Bengo4.com, Inc.
35
MSWを使ったテスト import { render, screen } from "@testing-library/vue";
import UserProfile from "./UserProfile.vue";
import { setupServer } from "msw/node";
import { http, HttpResponse } from "msw";
const server = setupServer(
http.get("/api/user", () => {
return HttpResponse.json({ name: "Taro" });
})
);
beforeAll(() => server.listen());
afterEach(() => server.resetHandlers());
afterAll(() => server.close());
test("MSW で API をモックしてユーザー名を表示", async () => {
render(UserProfile);
expect(await screen.findByText("こんにちは、Taro さ
ん")).toBeInTheDocument();
});
MSWでAPI通信をモックし、実際の APIに
リクエストしているかのようにテストを実行
できる。
その結果、URLやレスポンス形式の誤りな
ど、より現実に近いバグを検出しやすくな
る。
また、APIリクエスト関数の命名や実装が変
わっても、/api/user へリクエストする限りテ ス
ト自体は壊れず、堅牢になる。