我正在使用React day picker,并尝试为它编写一些测试。其中一个测试包括模拟某一天的点击,然后检查该天的类名是否添加了所选的类。但问题是,即使在通过酶的方法simulate('click')模拟点击之后,类名也根本不会改变。但确实会调用on click处理程序,我可以在控制台输出中看到单击的是哪一天。
我正在使用Jest和酶来测试一些React组件(使用TypeScript编写)。我的旧方法是使用酶的.simulate()函数来模拟点击,但为了支持使用实例属性函数(即只使用组件的onClick()属性),这种方法被弃用了。但是,我不确定如何准确地直接调用onClick()函数。下面是我的代码: // Get the onClick function
const buttonOnClick = wrapper.find('#diffpicker-button').first().props().onClick;
// buttonOnClick could be a fu
我正在尝试仅使用Jest和ReactTestUtils编写测试。怎样才能正确地模拟点击?我不想使用酶,并且坚持CRA默认给我的东西。
按钮是一个无状态的组件(函数),不能正确地挂载它,但现在是一个类,仍然不能工作在“模拟”行...
`import React from 'react';
import * as TestRenderer from 'react-test-renderer';
import ReactTestUtils from 'react-dom/test-utils';
import { Button } from '
我正在尝试编写一个测试,它使用酶来模拟按钮单击,该按钮期望onClick处理程序被触发。我想用模拟替换组件的onClick处理程序。当测试运行时,将调用组件类方法而不是模拟函数。如有任何指导,将不胜感激!
下面是测试输出:
FAIL src/Form.test.js
● Console
console.log src/Form.js:5
this is from the component
● Submit handler called on click
expect(jest.fn()).toHaveBeenCalled()
Expe
我有一个简单的程序,它可以在单击按钮时更改textField的textField。
在Jest中,我模拟按下按钮,然后要验证助手文本是否已更改。目前,我只是在点击之前和之后的文本字段,但在这两种情况下,它的值是“。我期望它是“用户名不能包含任何特殊的字符”后,点击是执行。
Jest/酶测试:
import React from "react";
import RegistrationPage from "../pages/registration";
import { configure, mount } from "enzyme";
impor
我正在使用React 16的酶3。我有下面的单元测试,它与React和酶的前一个版本一起工作,但是在升级后,我得到了以下错误
方法“single”只能在单个节点上运行。而是找到了3。
这是代码
it('calls \'onCompleteShoppingClicked\' when the user clicks the button to complete shopping', () => {
const onCompleteShoppingClickedSpy = sinon.spy();
const onSaveShoppingCli
我有一个模拟点击的小测试(希望用这个测试做更多的事情,但到目前为止我还停留在这里):
import React from 'react';
import Enzyme, { mount } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import HamburgerIcon from './HamburgerIcon';
Enzyme.configure({ adapter: new Adapter() });
test('hamburge
我有一个关于反应测试库的问题。如果你正在做钩子开发,这似乎是测试库的好去处,因为酶目前似乎不支持钩子,谁知道它是否会支持钩子,至少从浅层渲染的角度来看是这样的……至少从我目前所读到的情况来看。所以,让我对react- test -library感到有点疯狂的是,它建议进行完整的渲染、触发点击、更改等等来测试你的组件。所以,如果你要改变一个Button组件的功能,那会怎样呢?当您已经在测试该组件时,在该组件的每个子组件上呈现并运行测试不是很奇怪吗?您希望模拟父组件中的所有这些组件吗?如果你已经在自动化测试中这样做了,比如使用webdriver,那么点击和更改看起来不是多余的吗?