enzyme相关内容

用酶测试连接组件

我正在学习参加这个测试课程通过设置一个 store factory 测试助手来测试连接的组件,该助手“创建一个与我们商店配置相匹配的测试商店".在下面,您可以看到我连接的示例组件以及用于设置测试的代码,其中我为我的示例组件创建了一个连接的浅酶包装器.但是,似乎我传递给示例组件的初始状态,在这种情况下 {joto: 'foo'} 在创建这个浅层包装器时没有传递给我的示例组件.我做错了什么,在运行酶测 ..
发布时间:2021-12-21 18:50:18 其他开发

为反应组件编写单元测试用例

我是 react redux 的新手.我正在尝试为组件搜索功能编写单元测试用例, 构造函数(道具){超级(道具);this.state = {搜索 : ''}}onInputChnage = (e) =>{this.setState({ 搜索: e.target.value });}使成为() {const { 工作:{ 内容 } } = this.props;const { 搜索 } = th ..
发布时间:2021-12-21 18:49:48 其他开发

JestJS ->不变违规:找不到“商店"在“Connect(Portfolio)"的上下文或道具中;

完整的错误信息: 不变违规:无法在“Connect(Portfolio)"的上下文或道具中找到“store".要么将根组件包装在 a 中,要么将“store"作为道具显式传递给“Connect(Portfolio)". 不知道为什么在我的 Jest 测试中出现此错误,因为我的应用正在运行,我可以通过调度操作更改我的状态. index.js 从 'react' 导入 React从 ..
发布时间:2021-12-21 18:43:24 其他开发

如何使用 react-redux 钩子测试组件?

我有一个简单的 Todo 组件,它利用了我正在使用酶测试的 react-redux 钩子,但我得到了一个错误或一个带有浅渲染的空对象,如下所述. 使用 react-redux 中的钩子测试组件的正确方法是什么? Todos.js const Todos = () =>{const { todos } = useSelector(state => state);返回 ( {tod ..
发布时间:2021-12-15 12:00:50 其他开发

调用 Jest spyOn 函数

我正在尝试为一个简单的 React 组件编写一个简单的测试,并且我想使用 Jest 来确认当我用酶模拟点击时已经调用了一个函数.根据 Jest 文档,我应该能够使用 spyOn 来做到这一点:间谍. 但是,当我尝试此操作时,我不断收到 TypeError: Cannot read property '_isMockFunction' of undefined 这意味着我的间谍未定义.我的代码 ..
发布时间:2021-12-15 11:50:04 前端开发

如何使用 Jest 监视方法调用?

我最近想测试在 React 组件的 componentDidMount 方法中是否有条件地调用了一些自定义方法. componentDidMount() {如果(this.props.initOpen){this.methodName();}} 我使用 Jest 作为我的测试框架,其中包括用于模拟/间谍的 jest.fn().我已经读过,通过执行以下操作,使用 Sinon 进行测试非常简单: ..
发布时间:2021-12-15 11:40:45 前端开发

在 Jest 中模拟按钮点击

模拟按钮点击似乎是一个非常简单/标准的操作.但是,我无法在 Jest.js 测试中使用它. 这是我尝试过的(也使用 jQuery),但它似乎没有触发任何东西: import { mount } from 'enzyme';页面 = ;pageMounted = 挂载(页面);const button = pageMounted.find('#some_button ..
发布时间:2021-12-15 11:36:27 前端开发

什么时候应该在 Enzyme/React 测试中使用渲染和浅层?

在发布这个问题之前,我尝试在 sqa stackexchange 中搜索,但我没有找到关于浅层和渲染的帖子,所以我希望有人能在这里帮助我. 我什么时候应该在测试 React 组件时使用浅层和渲染?根据airbnb的文档,我对两者的区别发表了一些意见: 因为shallow 是将组件作为一个单元进行测试,所以它应该用于“父"组件.(例如表格、包装器等) 渲染用于子组件. 我问这 ..
发布时间:2021-12-15 11:35:40 其他开发

当模拟点击调用一个调用 promise 的函数时,使用 React 的 Jest 和 Enzyme 进行测试

React v15.1.0 Jest v12.1.1 酶 v2.3.0 我想弄清楚如何测试在单击调用的函数中调用 promise 的组件.我期待 Jest 的 runAllTicks() 函数在这里帮助我,但它似乎没有执行承诺. 组件: 从'react'导入React;从“蓝鸟"导入承诺;函数 doSomethingWithAPromise() {返回新的承诺((解决)=> {s ..
发布时间:2021-12-14 20:23:11 其他开发

测试是否调用了 const 模态组件

我有一个页脚组件,上面有几个按钮.所有这些按钮都使用 Message const,这是一个 antd 模式: Message.jsx import { Modal } from 'antd';const { 确认 } = 模态;export const Message = (text, OkHandler, cancelHandler) =>{确认({标题:文字,okText: '是',取 ..
发布时间:2021-11-11 03:28:31 其他开发

测试是否调用了 const 模态组件

我有一个页脚组件,上面有几个按钮.所有这些按钮都使用 Message const,这是一个 antd 模式: Message.jsx import { Modal } from 'antd';const { 确认 } = 模态;export const Message = (text, OkHandler, cancelHandler) =>{确认({标题:文字,okText: '是',取 ..
发布时间:2021-11-11 03:28:07 其他开发

哪种酶适配器适用于 React 17?

我有一个 React 应用程序,我想开始使用 Enzyme 编写单元测试.Enzyme 的文档讨论了高达 16 的 React 版本. 在 src/setupTests.js 我目前有 从“酶"导入酶;从'enzyme-adapter-react-16'导入适配器;Enzyme.configure({adapter: new Adapter() }); 但我的应用使用 React 17. ..
发布时间:2021-09-14 18:59:24 其他开发

Jest.js 强制窗口未定义

我正在使用 jest + 酶设置进行测试.如果定义了窗口,我有有条件地呈现某些东西的函数. 在我的测试套件中,当未定义窗口时,我试图达到第二种情况,但我不能强制它. it('当窗口未定义时产生一些东西', () => {窗口 = 未定义;期望(myFunction()).toEqual(thisWhatIWantOnUndefinedWinow);}); 但即使我强制窗口未定义,它也 ..
发布时间:2021-09-06 18:45:34 其他开发

“Navbar 指的是一个值,但在这里被用作一种类型"在测试时尝试渲染我的组件的浅表副本时

我正在尝试为我的 React 组件编写一个测试,使用 TypeScript、Jest 作为我的测试运行程序和 Enzyme 来测试我的 React 组件.每当我将我的组件传递给 shallow 酶函数时,我都会收到 ts 错误“'Navbar' 指的是一个值,但在此处被用作类型.",并且在下面我收到 eslint 错误“解析错误:'>' 预期". 我在其他一些组件上尝试过,当作为参数传递到 ..
发布时间:2021-09-06 18:38:19 前端开发

如何使用 Jest、Enzyme for React-Native 在单元测试中模拟事件

我想弄清楚如何在 React-Native 应用程序中使用 Jest 测试“onPress"事件,以便确保调用正确的函数. 我浏览了文档和谷歌,但在 React-Native 中找不到解决方案. 这是我发现的,它应该适用于带有 enzyme 的 React-Native: const mockFunc = jest.fn();const component = mount();com ..
发布时间:2021-07-04 19:05:23 前端开发

ReferenceError:在Jest环境被拆除后,您正在尝试“导入"文件

我有一个组件,该组件利用了react native的 Animated 组件.我开始编写一个测试用例来模拟组件的 onPress ,该组件将调用其中包含 Animated.timing 和 setState 的函数./p> 运行 jest 可以正常工作,但是测试永远不会停止运行,而我之前编写的一个无关的测试用例现在似乎从未通过(之前通过). 运行 jest --watch ,出现此错误: ..
发布时间:2021-05-20 18:54:26 前端开发