小编AAM*_*ODE的帖子

React 测试库:UserEvent.type 不起作用

问题:UserEvent.type不工作。我有一个简单的测试,我得到了文本框,它可以工作,但是当尝试在该文本框中键入时,文本不会显示。

我见过的大多数类似问题的解决方案都是等待打字。我试过了,文本仍然不显示。

版本

"jest": "^28.1.3",
"@testing-library/jest-dom": "^5.16.4",
"@testing-library/react": "12.1.2",
"@testing-library/user-event": "^14.2.1",
Run Code Online (Sandbox Code Playgroud)

测试:

test('LoginPage should handle events properly', async () => {
    render(<LoginPage />)
    const textbox = screen.getByRole(/textbox/i)
    await userEvent.type(textbox, 'test')
    screen.debug(textbox)
})
Run Code Online (Sandbox Code Playgroud)

screen.debug()触发打字后的输出:

 <textarea
      placeholder="enter your private key here."
    />
Run Code Online (Sandbox Code Playgroud)

登录页面组件:

import { useHistory } from 'react-router-dom'
import { useContext, useState, useEffect } from 'react'

import { ABOUT_URL } from '../../config'

import LoadingCover from '../../components/loadingCover/loadingCover'
import LoadingButton from '../../components/loadingButton/loadingButton'
import UserContext from '../../context/User'

const LoginPage …
Run Code Online (Sandbox Code Playgroud)

testing unit-testing react-testing-library testing-library

10
推荐指数
1
解决办法
2万
查看次数

开玩笑:语法错误:无法在 React/Typescript 项目的模块外部使用 import 语句

在使用 Babel、Typescript、React 和 Jest 测试某些组件时,我遇到了 Jest 问题。

在测试 React/Typescript 组件时,我得到了SyntaxError: Cannot use import statement outside a module.

我尝试过的事情

  1. 使用 babel 插件(参见下面的 babel 配置)
  2. 使用ts-jest
  3. 尝试了文档ts-jest中的 ESM 支持
  4. 阅读这篇这篇这篇有类似问题的帖子

这里是jest.config.js

const ignores = ['/node_modules/'];

module.exports = {
    preset: 'ts-jest',
    roots: ['<rootDir>'],
    modulePaths: [
        "<rootDir>/src"
    ],
    moduleDirectories: [
        "node_modules",
    ],
    transformIgnorePatterns: [...ignores],
    transform: {
        '^.+\\.(ts|tsx)?$': 'ts-jest',
        '^.+\\.(gif|svg|ico)$': '<rootDir>/svgTransform.js',
    },
    testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.js?$',
    moduleFileExtensions: ['tsx', 'js', 'ts'],
    moduleNameMapper: { …
Run Code Online (Sandbox Code Playgroud)

unit-testing node.js jestjs babeljs ts-jest

5
推荐指数
1
解决办法
1847
查看次数