今天我们来实战一个msw的使用,首先我们先随意建立一个component,我是建立一个Users component.
import { useEffect, useState } from 'react';
import axios from 'axios';
type UserType = {
name: string;
city: string;
};
const Users = () => {
const [users, setUsers] = useState<UserType[]>([]);
useEffect(() => {
const getUsers = async () => {
const userList = await axios.get('http://localhost:5000/users');
const { data } = userList;
if (data) {
setUsers(data);
}
};
getUsers();
}, []);
return (
<>
{users.length > 0
? users.map((user) => {
return (
<div key={user.name} role="user">
{user.name}
</div>
);
})
: null}
</>
);
};
export default Users;
上面这一段程序是建立一个users的列表,一开始状态设为空阵列,当我们透过axios去拉取server的资料,取得资料时users会列印出来,我们在昨天有时做一个handlers所以我们透过axios抓取资料时我们的msw会拦截并回传一个内含三笔资料的array
import { render, screen } from '@testing-library/react';
import Users from '../Users';
describe('<Users />', () => {
test('should get three lines user data', async () => {
render(<Users />);
const users = await screen.findAllByRole('user');
expect(users).toHaveLength(3);
});
});
我们这个就可以取得三笔资料
>>: Day 12 - Length of Last Word
Flutter API Get using Bloc state management and ht...
Wireshark解PPPoE的帐号和密码 设定好之後 打开 Wireshark 开始抓封包 重开机...
小弟自开学後白天上课晚上上班,每天时间不多,进度比较缓慢,请多见谅 上篇将资料存至资料库,这篇要将资...
前言 之前介绍产生Flux 的方法都是固定的遵循特定逻辑的,若今天有需要客制化特殊的逻辑来产生资料,...
在写 Vue.js 或 React 的过程,一定都会听过这个名词。 并不是所有的 component...