-
5 votesanswersviews
酶's shallow().text() with React Native doesn'按预期工作
我正在尝试围绕React Native测试获得一些基本的理解,包括enzyme和react-native-mock . 不包括在下面:用于mocha的自定义编译器以获得babel善良 . 我的代码如下: Block.jsx : import React from 'react'; import {View} from 'react-native'; export default ({title,... -
2 votesanswersviews
使用酶反应单元测试不会重新绑定辅助函数的上下文
这是一个有趣的问题,我在尝试使用AirBnB的React测试库Enzyme重构我的一些React组件时遇到了这个问题 . 我认为解释我的问题的最好方法是通过一个例子 . 这是一个小的React组件,它将显示一条消息,具体取决于它从其父组件接收的props: test.js: import React from 'react'; function renderInnerSpan() { c... -
3 votesanswersviews
用酶测试反应HoC.mount似乎没有正确输出子组件
我正在构建一个HoC,以便轻松创建可选择的表行 . 我正在尝试编写测试以确保它使用正确传递的道具呈现包装的组件 . 不幸的是,我无法让我的测试工作,因为似乎没有酶将所有组件都渲染出来(或者,更可能的是,我做的事情有些愚蠢) . HoC import React, { PropTypes, Component } from "react"; import { omit } fro... -
0 votesanswersviews
酶'find'没有通过其className找到div
我用酶来测试反应成分 . 但是,'find'方法无法找到任何元素 . 找不到className,element等 . 这肯定是我做错了,因为我可以在一个单独的项目中使用.find,但我似乎无法找到我做错了什么 . node:6.10.0 jest-cli:12.1.1 babel-jest:12.1.0 酶:2.7.1 开玩笑:19.0.2 jest-enzyme:2.1.... -
2 votesanswersviews
使用Jest Enzyme Mocking Props并从一个组件状态到其他组件
我正在使用Jest来创建模拟和酶“mount”来传递道具 . 我有SampleClass.jsx渲染按钮 . 下面是代码 . import React from 'react'; import action from '../../Creator.jsx'; export default class SampleClass extends React.Component { construct... -
2 votesanswersviews
React:直接导入子组件而不是作为依赖项传入是不好的做法?
我可能在想这个,但我很好奇,如果直接导入子组件是关于耦合和测试的坏习惯 . 下面是一个简单的例子: import Header from './header.jsx'; class Widget extends React.Component { render() { return ( <div> <... -
0 votesanswersviews
使用React / Redux进行酶测试 - 使用setState进行浅层渲染问题
我有一个React组件,如果它的初始本地状态发生了变化,它会加载另一个组件 . 我无法进行干净的测试,因为我需要设置本地状态和浅层渲染,以便在新组件安装时子组件不会崩溃,因为redux存储不在那里 . 似乎这两个目标在酶中是不相容的 . 要显示子组件,需要进行以下操作: 组件需要接收"response"道具(任何字符串都可以) 组件需要将其初始"started... -
0 votesanswersviews
使用Enzyme的浅层渲染时,来自react-router Link的prop-type警告
当使用Jest和Enzyme编写测试时,我遇到了以下错误 . 警告:失败的道具类型:道具在链接中标记为必需,但其值未定义 . 我正在为我的Modal组件生成测试,该组件具有带有链接组件的InnerModal . 我浅呈现ModalClass并测试我的handleOpen()函数,该函数触发prop-types警告 . 当我潜水()到由Enzyme渲染的Link组件时,我看到to行具有从Enzy... -
0 votesanswersviews
Create-React-App测试和Jest Mocking
对于正在工作的项目,我们决定使用一个定制的JS库,在DOM中注入一个链接到第三方JS库的 <script> 标签 . 因为这些组件相互导入(如下所示),最后一个组件从使用 window 变量的自定义库中导入其中一个函数,但无法找到它 . 我怀疑这是因为我使用Airbnb Enzyme浅渲染,不能渲染完整的DOM树 . 但是,在完全成熟的应用程序中,自定义库可以工作,因为有一个 wind... -
7 votesanswersviews
如果React组件需要jQuery,则会引发错误
我'm trying to test a React Components behavior using Enzyme' s describeWithDOM() 和 mount() . 但是当组件导入jQuery时,我收到此错误: 错误:jQuery需要一个带文档的窗口 我知道Enzyme在引擎盖下使用了jsdom,我一直认为jsdom负责窗户和文件 . 但我似乎无法找到如何让这些工作在一起 ... -
0 votesanswersviews
使用enyzme浅和反应intl进行测试与原生反应
我一直试图使用酶浅渲染来模拟onPress . 但是由于react-intl,我无法访问TouchableOpacity 我已经看到了将intl注入反应组件的辅助函数,但这些函数似乎只适用于React而不是反应本机 . it("should handle button presses", () => { const onPress = sinon.spy(); c... -
1 votesanswersviews
'flow property not found in props of react element'何时存在用于组分的酶呈现
My Component: // @flow import React from 'react' type Props = { close: Function, name: string } const MyComponent = ({ close, name }: Props) => ( <div className='click' onClick={close}&g... -
0 votesanswersviews
使用Sinon时,使用debounceTime错误来反应组件
我有以下React组件 探索在这里输入代码 class IncrementalSearch extends React.Component { constructor(props) { super(props); this.onSearch$ = new Subject(); this.onChange = this.onChange.bi... -
10 votesanswersviews
用jsdom开玩笑,文档在Promise解析中未定义
The scenario 尝试使用Jest(和Enzyme)测试一个简单的React组件 . 这个组件使用 react-dropzone ,我想测试一些涉及DOM的操作,所以我使用jsdom(已经由 create-react-app 配置) The problem 我的测试代码中可用的 document 对象也可以在组件内部使用,它位于dropzone onDrop 回调内部 undefined... -
0 votesanswersviews
酶不会'render, mount, or shallow'一个组件,因为依赖是未定义的
我想弄清楚为什么我的测试不会运行 . 我有一个React功能组件,它包含一个样式组件,它使用自定义方法生成一个媒体查询,该查询将被导入为css帮助文件 . 我得到了 TypeError: Cannot read property 'medium' of undefined . 这是我的代码 . css / index.js export const media = (function(){ ... -
1 votesanswersviews
从异步函数测试反应组件
我试图用jest和酶测试一个从异步函数返回的组件,但是我在构建它时遇到了问题 async function action() { return { chunks: ['something'], title: 'something', component: ( <Layout> <Something_else /> ... -
3 votesanswersviews
React JS:如何获得所有道具组件的期望?
我开始对React应用程序进行单元测试,我面临的挑战之一是确定组件正确安装所需的所有道具 . 是否有任何实用程序可以检查成功安装组件需要什么?此外,这些道具的数据类型可以适当地初始化它们以进行组件渲染 . 就像我的一个组件是使用spread {...props} 运算符从父级获取道具 . 父母也使用传播操作符获取这些,然后添加一些额外的道具并将其传递给孩子 . 这让我很难获得组件所需的所有道具 ... -
1 votesanswersviews
使用Jest&Enzyme进行异步提取后测试组件的状态(使用模块)
我正在尝试用Jest测试React组件的状态 . 在ComponentDidUpdate上,如果有人登录并使用用户名更新state.user,它将在服务器上获取用户名 . 如果没有用户登录,则会将state.pleaseLogin切换为true . import React from "react"; import "./Header.css"; impor... -
4 votesanswersviews
如何避免在jest /酶单元测试中使用setTimeout来提供反应本机时间来呈现异步函数
基本上,我有一个React Native组件,它是我的Login组件 . 我想测试多个状态变化 . 我的组件的第一个阶段是显示一个加载组件,然后,它通过多个异步函数,如: NetInfo:为了查看我是否可以使用网络登录自动登录 setState:一些状态更改,也有回调函数 . fetch:从API获取信息 . 到目前为止,我有fetch和NetInfo都被嘲笑 . Coverag... -
0 votesanswersviews
使用Enzyme创建Mocked Jest Tests以获取
我在为调用 fetch 的React组件创建模拟Jest测试时遇到了麻烦 . 特别是,如果我写了一个失败的测试,那么Jest会爆炸并将我踢回bash shell . 要重新开始,我必须重新开始我的测试 . 这是我的组件的精简版本 class App extends Component { constructor(props) { super(props); this.state... -
0 votesanswersviews
具有开玩笑和酶的模拟功能模块
我有一个React组件,它从另一个模块调用一个方法 .该模块只返回1个方法: export default (url, method, authorization, body) => { const headers = { 'Content-Type': 'application/json' } if (authorization) headers.Authorization = l... -
1 votesanswersviews
在Jest中测试异步操作中的加载状态
我有以下React组件,在 componentDidMount() 上执行异步操作,一旦收到数据,就会用结果更新状态 . import * as React from "react"; export interface IAppProp { App: any } export interface IAppProp { App: any } export c... -
0 votesanswersviews
状态变化后测试反应组分
如何测试以下组件? import React from "react"; class ModuleLoader extends React.Component { state = { Module: null }; componentDidMount() {... -
13 votesanswersviews
使用Jest使用props模拟React组件
我有一个React组件,其中包含一些依赖于访问Redux存储等的其他组件,这会在执行完整的Enzyme安装时导致问题 . 让我们说这样的结构: import ComponentToMock from './ComponentToMock'; <ComponentToTest> ...some stuff <ComponentToMock testProp="T... -
6 votesanswersviews
在React应用程序中使用Jest模拟导入/模块
我正在研究一个React应用程序,我想测试一个模块,我们称之为B,这取决于另一个模块,我们称之为A. 场景可能是这样的: moduleA.js export function helperFn() { return { prop1: 10, prop2: 20 }; } moduleB.js import React from 'react'; import { helperFn } fro... -
1 votesanswersviews
我可以在不使用.simulate() - Jest Enzyme的情况下调用方法
我正在使用Jest / Enzyme对React飞行座位选择应用进行单元测试 . 有没有办法可以在我的基于类的组件中测试一个方法,该组件在点击一个按钮后运行,但是没有实际模拟按钮点击?这是因为按钮位于子组件的子级内,并且该方法作为prop传递 . 虽然功能非常简单,但我仍然想测试一下 inputSeats(chosenSeats) { this.setState({ cho... -
2 votesanswersviews
模拟由Redux Provider组件包含的React组件函数
这是我的情况:我正在尝试对React组件(TodoList)进行单元测试,该组件在Render方法上不做任何事情,而不是映射项目并显示它们 . 它通过使用MapStateToProps从Redux商店获取项目(TodoItem) . 这是TodoList组件的javascript代码: class TodoList extends React.Component { onRemoveCli... -
0 votesanswersviews
Jest / Enzyme不能模拟类属性
我目前正在用Jest an Enzyme编写React组件的测试 . 当我必须模拟使用箭头语法编写的类属性函数时,我陷入困境:模拟未应用 . 以下是测试组件的摘录: class MaClass extends React.Component { ... componentWillMount () { this.getNotifications() } getNotifica... -
0 votesanswersviews
如何使用Jest和Enzyme模拟组件方法
我有一个React组件,它有一个文本 input 作为主包装器中的子项之一 . 当 input 获得焦点时,它通过 onFocus 属性调用一个函数 . 所以组件的结构是这样的: <div className="main-wrapper"> <input type="text" onFocus={this.focusHandler} /&g... -
0 votesanswersviews
如何用jest和酶模拟React组件事件
我已经阅读了关于类似问题的多个SO答案,但无法理解为什么事情对我不起作用 . 我已经尝试了this,它确实按照接受的答案中的说明工作,但不适用于模拟事件 . 这是组件: import React, { Component } from 'react'; export default class App extends Component { render() { return ( ...