我正在尝试使用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)
没有抛出任何错误,成功找到按钮,但由于某种原因,该函数没有注册它已被调用。
任何帮助,将不胜感激!
我给了一个空字符串.林丁仍抱怨.
<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) 我有一个控制器
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)
我做错了什么?