enzyme相关内容
我正在学习参加这个测试课程通过设置一个 store factory 测试助手来测试连接的组件,该助手“创建一个与我们商店配置相匹配的测试商店".在下面,您可以看到我连接的示例组件以及用于设置测试的代码,其中我为我的示例组件创建了一个连接的浅酶包装器.但是,似乎我传递给示例组件的初始状态,在这种情况下 {joto: 'foo'} 在创建这个浅层包装器时没有传递给我的示例组件.我做错了什么,在运行酶测
..
我是 react redux 的新手.我正在尝试为组件搜索功能编写单元测试用例, 构造函数(道具){超级(道具);this.state = {搜索 : ''}}onInputChnage = (e) =>{this.setState({ 搜索: e.target.value });}使成为() {const { 工作:{ 内容 } } = this.props;const { 搜索 } = th
..
完整的错误信息: 不变违规:无法在“Connect(Portfolio)"的上下文或道具中找到“store".要么将根组件包装在 a 中,要么将“store"作为道具显式传递给“Connect(Portfolio)". 不知道为什么在我的 Jest 测试中出现此错误,因为我的应用正在运行,我可以通过调度操作更改我的状态. index.js 从 'react' 导入 React从
..
我有一个组件 SampleComponent 安装另一个“连接组件"(即 container).当我尝试通过 mounting 测试 SampleComponent 时(因为我需要 componentDidMount),我收到错误: Invariant Violation:无法在上下文或“Connect(ContainerComponent)"的道具.要么包装根组件在 a 中,或明确地将“商
..
我有一个简单的 Todo 组件,它利用了我正在使用酶测试的 react-redux 钩子,但我得到了一个错误或一个带有浅渲染的空对象,如下所述. 使用 react-redux 中的钩子测试组件的正确方法是什么? Todos.js const Todos = () =>{const { todos } = useSelector(state => state);返回 (
{tod
..
我正在尝试为一个简单的 React 组件编写一个简单的测试,并且我想使用 Jest 来确认当我用酶模拟点击时已经调用了一个函数.根据 Jest 文档,我应该能够使用 spyOn 来做到这一点:间谍. 但是,当我尝试此操作时,我不断收到 TypeError: Cannot read property '_isMockFunction' of undefined 这意味着我的间谍未定义.我的代码
..
我最近想测试在 React 组件的 componentDidMount 方法中是否有条件地调用了一些自定义方法. componentDidMount() {如果(this.props.initOpen){this.methodName();}} 我使用 Jest 作为我的测试框架,其中包括用于模拟/间谍的 jest.fn().我已经读过,通过执行以下操作,使用 Sinon 进行测试非常简单:
..
模拟按钮点击似乎是一个非常简单/标准的操作.但是,我无法在 Jest.js 测试中使用它. 这是我尝试过的(也使用 jQuery),但它似乎没有触发任何东西: import { mount } from 'enzyme';页面 = ;pageMounted = 挂载(页面);const button = pageMounted.find('#some_button
..
在发布这个问题之前,我尝试在 sqa stackexchange 中搜索,但我没有找到关于浅层和渲染的帖子,所以我希望有人能在这里帮助我. 我什么时候应该在测试 React 组件时使用浅层和渲染?根据airbnb的文档,我对两者的区别发表了一些意见: 因为shallow 是将组件作为一个单元进行测试,所以它应该用于“父"组件.(例如表格、包装器等) 渲染用于子组件. 我问这
..
React v15.1.0 Jest v12.1.1 酶 v2.3.0 我想弄清楚如何测试在单击调用的函数中调用 promise 的组件.我期待 Jest 的 runAllTicks() 函数在这里帮助我,但它似乎没有执行承诺. 组件: 从'react'导入React;从“蓝鸟"导入承诺;函数 doSomethingWithAPromise() {返回新的承诺((解决)=> {s
..
我有一个页脚组件,上面有几个按钮.所有这些按钮都使用 Message const,这是一个 antd 模式: Message.jsx import { Modal } from 'antd';const { 确认 } = 模态;export const Message = (text, OkHandler, cancelHandler) =>{确认({标题:文字,okText: '是',取
..
我有一个页脚组件,上面有几个按钮.所有这些按钮都使用 Message const,这是一个 antd 模式: Message.jsx import { Modal } from 'antd';const { 确认 } = 模态;export const Message = (text, OkHandler, cancelHandler) =>{确认({标题:文字,okText: '是',取
..
我有一个 React 应用程序,我想开始使用 Enzyme 编写单元测试.Enzyme 的文档讨论了高达 16 的 React 版本. 在 src/setupTests.js 我目前有 从“酶"导入酶;从'enzyme-adapter-react-16'导入适配器;Enzyme.configure({adapter: new Adapter() }); 但我的应用使用 React 17.
..
我正在使用 jest + 酶设置进行测试.如果定义了窗口,我有有条件地呈现某些东西的函数. 在我的测试套件中,当未定义窗口时,我试图达到第二种情况,但我不能强制它. it('当窗口未定义时产生一些东西', () => {窗口 = 未定义;期望(myFunction()).toEqual(thisWhatIWantOnUndefinedWinow);}); 但即使我强制窗口未定义,它也
..
我正在尝试为我的 React 组件编写一个测试,使用 TypeScript、Jest 作为我的测试运行程序和 Enzyme 来测试我的 React 组件.每当我将我的组件传递给 shallow 酶函数时,我都会收到 ts 错误“'Navbar' 指的是一个值,但在此处被用作类型.",并且在下面我收到 eslint 错误“解析错误:'>' 预期". 我在其他一些组件上尝试过,当作为参数传递到
..
我想弄清楚如何在 React-Native 应用程序中使用 Jest 测试“onPress"事件,以便确保调用正确的函数. 我浏览了文档和谷歌,但在 React-Native 中找不到解决方案. 这是我发现的,它应该适用于带有 enzyme 的 React-Native: const mockFunc = jest.fn();const component = mount();com
..
我有一个像下面这样的自定义钩子 const useSum = (a = 1, b = 1) =>{const [sum, setSum] = useState(a + b);useEffect(() => {setSum(a + b);}, [a, b]);返还金额;} 我在我的功能组件中使用它 const MyFuncComp = () =>{const sum = useSum(1, 2
..
我有一个组件,该组件利用了react native的 Animated 组件.我开始编写一个测试用例来模拟组件的 onPress ,该组件将调用其中包含 Animated.timing 和 setState 的函数./p> 运行 jest 可以正常工作,但是测试永远不会停止运行,而我之前编写的一个无关的测试用例现在似乎从未通过(之前通过). 运行 jest --watch ,出现此错误:
..
我正在尝试在我的react-redux应用程序中修复失败的测试.当我再次潜水并再次进入组件时,我期望在其中看到JSX.但是,我什么也没看到. 这是我的组成部分- const Dashboard =(props)=>{如果(props.isSignedIn)返回 (
欢迎
);返回null;};const
..
我正在尝试使用Jest和Enzyme测试React组件.我想在具有特定类名的div内的Button组件上模拟click事件.我找不到按钮节点. 我在组件中具有以下标记
this.toggleSettingsModal(true)}buttonStyle = {ButtonStyle.Primary}
..