我正在做一个CMS项目,我刚刚遇到了一个问题。_userEvent.default.clear is not a function。
import user from '@testing-library/user-event'
test('can edit label', async () => {
createArticleMock()
await renderRootAndInitStore(rightNowTeasers, globalInitialState)
const index = 1
const input = screen.getByDisplayValue(labels[index])
const newLabel = 'VÄRLDEN'
user.clear(input)
user.type(input, newLabel)
expect(await screen.findByDisplayValue(newLabel))
user.click(screen.getByTestId('settings-form-save'))
await screen.findByText(newLabel)
})当我访问@testing-library/user-event时,我看到了这些行
// Definitions by: Wu Haotian <https://github.com/whtsky>
export interface IUserOptions {
allAtOnce?: boolean;
delay?: number;
}
export interface ITabUserOptions {
shift?: boolean;
focusTrap?: Document | Element;
}
export type TargetElement = Element | Window;
declare const userEvent: {
click: (element: TargetElement) => void;
dblClick: (element: TargetElement) => void;
selectOptions: (element: TargetElement, values: string | string[]) => void;
type: (
element: TargetElement,
text: string,
userOpts?: IUserOptions
) => Promise<void>;
tab: (userOpts?: ITabUserOptions) => void;
};
export default userEvent;如文件所示,userEvent上没有clear()方法。但是文档指出了clear()方法。
文档=> Doc
这是我第一次使用这个库。有人知道问题出在哪里吗?
发布于 2021-09-08 02:57:08
您必须将@ latest library/user-event更新为最新版本。那么这个错误就会被解决。你可以在这里找到最新的版本:https://www.npmjs.com/package/@testing-library/user-event
https://stackoverflow.com/questions/62258250
复制相似问题