我正在使用create-react-app和电子制作桌面应用程序.它需要在mac,windows和linux上运行,我还想在android和ios之后制作一个原生版本.
我可以在反应原生中制作适用于移动设备和桌面设备的应用吗?这可能会节省很多时间
在酶中,您可以像这样检查子组件的存在:
expect(wrapper.find(ChildComponent)).toHaveLength(1)
Run Code Online (Sandbox Code Playgroud)
反应测试库中的这个测试相当于什么?我发现的所有在线示例都只涵盖了寻找 dom 元素的非常简单的测试——没有一个包含渲染子组件的示例。你如何找到一个子组件?
这是我的 dependentabot 配置,有什么方法可以排除主要版本更新而只进行次要更新、补丁和安全更新?如果是这样我需要改变什么?
version: 1
update_configs:
- package_manager: 'javascript'
commit_message:
include_scope: true
prefix: 'chore'
default_reviewers:
- someUser
default_labels:
- 'dependencies'
directory: '/'
target_branch: 'develop'
update_schedule: 'live'
Run Code Online (Sandbox Code Playgroud) 我正在学习使用react-testing-library,并且我有两个调用渲染的测试,但问题是第二个测试失败,无论我进行测试的顺序如何。
describe('...', () => {
test('Renders form', () => {
const { queryByTestId } = render(<ThemeProvider theme={themeRed}>{comp}</ThemeProvider>)
expect(queryByTestId('address-form')).not.toEqual(null)
})
test('GenderSelector exists and works as expected', () => {
const { queryByTestId } = render(<ThemeProvider theme={themeRed}>{comp}</ThemeProvider>)
const genderSelector = queryByTestId('address-gender')
const genderCheckboxes = genderSelector.querySelectorAll('input')
expect(genderSelector).not.toEqual(null)
expect(genderCheckboxes).toHaveLength(2)
expect(genderCheckboxes[0].checked).toEqual(true)
expect(genderCheckboxes[1].checked).toEqual(false)
fireEvent.click(genderCheckboxes[1])
expect(genderCheckboxes[0].checked).toEqual(false)
expect(genderCheckboxes[1].checked).toEqual(true)
})
})
Run Code Online (Sandbox Code Playgroud)
主题提供者来自“styled-components”。如果我将渲染行移动到描述块中,以便仅调用一次,而不是在每个测试块中调用,则两个测试都会通过。
这是 RTL 设计的使用方式吗?只渲染一次?还是主题提供商造成的?我需要主题提供程序或测试错误,因为组件无法访问它们。
如果调用 render 两次,我得到的错误是
Found multiple elements by: [data-testid="address-gender"]
(If this is intentional, then use the `*AllBy*` variant of the query (like `queryAllByText`, `getAllByText`, or …Run Code Online (Sandbox Code Playgroud)