我有一个 React 组件,它生成一个按钮,其内容包含
function Click(props) {
return (
<button disable={props.disable}>
<span>Click me</span>
</button>
);
}
我想通过使用
反应测试库
和摩卡
茶
来测试这个组件的逻辑。
我目前遇到的问题是
getByText(“Click me”)
选择器返回
对使用data test id
你能建议一个更好的方法吗?
对于正在寻找按钮没有被禁用的测试的人。
import { render } from '@testing-library/react';
const { getByText } = render(Click);
expect(getByText(/Click me/i).getAttribute("disabled")).toBe(null)
您可以使用toBeDisabled()
从@testing-library/jest-dom
,它是一个自定义jest匹配器,用于测试dom的状态:
https://github.com/testing-library/jest-dom
例:
html prettyprint-override"><button>Submit</button>
expect(getByText(/submit/i)).toBeDisabled()
如果按钮被禁用,则断言
您可以使用toHaveAttribute和
最接近的
来测试它。
import { render } from '@testing-library/react';
const { getByText } = render(Click);
expect(getByText(/Click me/i).closest('button')).toHaveAttribute('disabled');
或
toBeDisabled
expect(getByText(/Click me/i).closest('button')).toBeDisabled();
启用按钮时断言
要检查按钮是否启用,请使用
not
,如下所示
expect(getByText(/Click me/i).closest('button')).not.toBeDisabled();
问题内容: PHP中是否可以使用任何函数来检测该函数是否可用? 问题答案: 编辑:根据Ziagl的评论修复了爆炸。
问题内容: 我正在使用react native导航(react- navigation)StackNavigator。它从应用程序整个生命周期的“登录”页面开始。我不想使用返回选项,返回“登录”屏幕。有谁知道登录屏幕后如何将其隐藏在屏幕上?顺便说一句,我也使用以下命令将其隐藏在登录屏幕中: 问题答案: 1)要使后退按钮在react-navigation v2或更高版本中消失: 2)如果您要清理导航
问题内容: 有没有一种方法可以检测JavaScript中的鼠标按钮当前是否处于按下状态? 我知道“ mousedown”事件,但这不是我所需要的。按下鼠标按钮后的一段时间,我希望能够检测它是否仍被按下。 这可能吗? 问题答案: 关于Pax的解决方案:如果用户有意或无意地单击了多个按钮,则该按钮将不起作用。不要问我我怎么知道:-(。 正确的代码应如下所示: 通过这样的测试: 如果您想知道按下了什么按
我正在用MCP(Mod Coder Pack)制作我自己的Minecraft客户端。 但我不知道如何才能检测例如在更新方法中,如果鼠标按钮被按下,以及哪个。 Im使用MCP 9.10(Minecraft 1.8) 我在谷歌也在这个平台上搜索,但我什么也没找到。 我希望你们中有人能帮助我。
我不知道如何使Tkinter变灰。 我试着使用,但它不起作用,我得到一个错误,说 _特金特。TclError:错误选项“-enable”:必须是-column、-columnspan、-in、-ipadx、-ipady、-padx、-pady、-row、-rowspan或-sticky 如何临时禁用?
我正在进行分页。我们在应用程序中有两个按钮和。我在每页上显示5条记录,如果当前数组中没有数据(数组数据来自API),我想禁用Next Button。我是ReactJS的初学者,请帮助我如何禁用Next按钮。 密码