Day 9 来了fireEvent

小弟fireEvent 与大哥user.event

各位在做测试时一定会遇到需要跟网页互动的一些行为,例如资料输入..等等

那这时候我们来模拟建立一个输入来做测试.首先 我们先来看一段html

<div>
  <input
    role="account"
    name="account"
    onChange={handleChange}
    value={values.account}
    placeholder="Account"
  />
  {error && <div>请输入帐号</div>}
  <input
    role="password"
    name="password"
    onChange={handleChange}
    value={values.password}
    placeholder="Password"
  />
  {error && <div>请输入密码</div>}
  <button>submit</button>
</div>

这段html主要是区分我们可以输入两个栏位分别是帐号跟密码,当使用者在没有输入资料的情形下,按下submit会出现error

import App from '@pages/App';
import { cleanup, render, screen, fireEvent } from '@testing-library/react';

test('should show error when click login without fill any fields', () => {
    render(<Lobby />);
    fireEvent.click(screen.getByText('submit'));

    expect(screen.getByText('请输入帐号')).toBeTruthy();
    expect(screen.getByText('请输入密码')).toBeTruthy();
  });

这就是可能其中的一个case,就是我们没有输入任何资料按下送出会输出的error,当然你也可以想出其他的test case,例如说只输入帐号或密码,然後只出现请输入帐号or密码的错误资讯这样是不是至少就有三个.


<<:  css linear-gradient

>>:  Day24 - 为 Kubernetes 应用增添 Database

数据分析的好夥伴 - Python基础:资料形式(上)

在学习完SQL之後,接下来让我们进入下一个阶段:Python的学习! 先说为什麽你需要学Python...

Day 30 : DetailView

前言 今天要将 RecipeFeaturedView 中的图片变成可点开的, 点开後会显示相应的 D...

[使用者提问的问题]请问一下, 用VPN连入,\\电脑名称 找不到 \\ip 可以用 请问是什麽原因?

答: 查对方电脑名称的条例有 DNS WINS NetBIOS over vpn tcp/ip LM...

[Day28] swift & kotlin 上架篇!(2) 小鸡BB-游戏上架流程-kotlin

Android 上架 首先~当然也是缴钱了 进入 Google Play Console 填入资料,...

【Day0】为什麽踏入前端这个领域

在写前言的时候,我已经写完铁人赛的29篇文章了! 在写技术文的过程中,我彷佛看到去年那个一窍不通,...