小编Sir*_*oob的帖子

userEvent.type 未更新测试中输入的值

我正在测试这个组件,它只是根据输入字段中的新输入来更改其状态,并将输入元素的值设置为该状态。

function Login () {
    //Login Credentials
    const [loginCredentials, setLoginCredentials] = useState({ name: '' })
    const handleChange = ({target}) => {
        setLoginCredentials(prev => ({ ...prev, [target.name]: target.value }));
    }

    return (
            <div className="login-container">
                <h1>Log In</h1>
                    <div className="login-label-input">
                        <label htmlFor="name">Account Name
                            <input
                            type="name"
                            id="name"
                            name="name"
                            placeholder="Enter Name"
                            onChange={handleChange}
                            value={loginCredentials.name}
                            aria-label="name"
                            />
                        </label>
                  </div>
             </div>
    )
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,此测试不会在 screen.debug() 中显示输入值“testUser”,而仅显示“t”....


    test("log in with empty name input returns error message",  () => {
    render(<Login />)
    const nameField = screen.getByLabelText(/account name/i);
    userEvent.type(nameField, 'testUser'); 
    screen.debug() …
Run Code Online (Sandbox Code Playgroud)

testing input reactjs

27
推荐指数
1
解决办法
3万
查看次数

jest.fn 调用时返回未定义

我正在尝试在测试中实现 fetch 模拟函数。按照教程,我尝试使用以下方法来做到这一点jest.fn()

const fetchFunction = jest.fn(() => {
    return null
})
Run Code Online (Sandbox Code Playgroud)

由于某种原因,这不起作用。如果我只是console.log(fetchFunction)在测试中这样做,我会得到:

[Function: mockConstructor] {
        _isMockFunction: true,
        getMockImplementation: [Function],
        mock: [Getter/Setter],
        mockClear: [Function],
        mockReset: [Function],
        mockRestore: [Function],
        mockReturnValueOnce: [Function],
        mockResolvedValueOnce: [Function],
        mockRejectedValueOnce: [Function],
        mockReturnValue: [Function],
        mockResolvedValue: [Function],
        mockRejectedValue: [Function],
        mockImplementationOnce: [Function],
        mockImplementation: [Function],
        mockReturnThis: [Function],
        mockName: [Function],
        getMockName: [Function]
      }
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试通过console.log(fetchFunction())我得到的来调用它undefined

我正在尝试在 create-react-app 文件夹中执行此操作。我需要安装额外的东西吗?关于为什么会发生这种情况有什么想法吗?

func reactjs jestjs

4
推荐指数
1
解决办法
5073
查看次数

标签 统计

reactjs ×2

func ×1

input ×1

jestjs ×1

testing ×1