小编kim*_*njj的帖子

React 测试库中的 userEvent 不会导致 onClick 被调用

我正在尝试使用react-testing-library运行一个非常简单的测试,其中为按钮提供了模拟函数,单击该按钮,然后测试检查该函数是否被调用。但是,测试当前失败,因为未调用该函数。这是代码:

import React from 'react';
import { render, screen } from '@testing-library/react';
import userEvent from '@testing-library/user-event';

describe('Button', () => {
  test('eventHandler called on click', () => {
    const handleClick = jest.fn();
    render(
      <button onClick={handleClick} type="button">
        Click Me
      </button>
    );

    userEvent.click(screen.getByRole('button'));

    expect(handleClick).toHaveBeenCalledTimes(1);
  });
});
Run Code Online (Sandbox Code Playgroud)

没有抛出任何错误,成功找到按钮,但由于某种原因,该函数没有注册它已被调用。

任何帮助,将不胜感激!

reactjs jestjs react-testing-library

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

我应该在装饰图像(如字段分隔符)的contentDescription属性中添加什么?

我给了一个空字符串.林丁仍抱怨.

<ImageView style="@style/DetailFieldSeparator"/>

<style name="DetailFieldSeparator">
  <item name="android:src">@android:drawable/divider_horizontal_textfield</item>
  <item name="android:layout_width">match_parent</item>
  <item name="android:layout_height">wrap_content</item>
  <item name="android:scaleType">fitXY</item>
  <item name="android:paddingTop">5dp</item>
  <item name="android:paddingBottom">5dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android accessibility

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

Rails flash消息未在redirect_to中显示

我有一个控制器

flash[:error] = "Message"
redirect_to :root
Run Code Online (Sandbox Code Playgroud)

:root由另一个控制器处理,视图具有

<% if flash[:error] %>
  <p><%= flash[:error] %></p>
<% end %>
Run Code Online (Sandbox Code Playgroud)

但没有任何表现.我插入<%= debug controller.session%>,这是我得到的

"flash"=>#<ActionDispatch::Flash::FlashHash:0x2e79208 @used=#<Set: {}>, @closed=false, @flashes={}, @now=nil>}
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

ruby-on-rails

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