问题: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) 在使用 Babel、Typescript、React 和 Jest 测试某些组件时,我遇到了 Jest 问题。
在测试 React/Typescript 组件时,我得到了SyntaxError: Cannot use import statement outside a module
.
我尝试过的事情:
这里是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)