jestjs 相关问题

Jest是一个由Facebook基于Jasmine制作的JavaScript单元测试框架,提供自动模拟创建和jsdom环境。它通常用于测试React组件。

如何在导入 tsx 文件的创建 React 应用程序中运行单元测试

所以,我做了一个create-react-app,它已经有npm run test 现在,我正在导入一个库, 从 '@web3modal/ethers/react' 导入 { createWeb3Modal } 这个反应是从这里导入的 节点_m...

回答 1 投票 0

针对 useHistory 钩子模拟 React-router-dom 会导致以下错误 - TS2698:扩展类型只能从对象类型创建

我正在尝试在我的一个测试用例中模拟react-router-dom,以便useHistory钩子能够在我的测试中发挥作用。我决定使用 jest.mock 来模拟整个模块,并使用 jest.requireActual 来pr...

回答 3 投票 0

使用笑话模拟小吃店

我尝试测试以下代码 从 'notistack' 导入 { useSnackbar, VariantType, WithSnackbarProps }; 从“反应”导入反应; 接口 IProps { setUseSnackbarRef:(显示Snackbar:

回答 2 投票 0

测试套件无法运行:不变违规:“Buffer.from("") instanceof Uint8Array”错误地为 false

**不变违规:“Buffer.from("") instanceof Uint8Array”错误地为 false 这表明您的 JavaScript 环境已损坏。你不能使用...

回答 1 投票 0

语法错误:意外的标记,打字稿文件中应有“,”

我有2个文件,一个是Helper.ts,它有一些功能,而Helper.spec.ts是Helper.ts使用jest的测试文件。 我用的是纯 javascript,但我把它改成了 typescript,我

回答 1 投票 0

如何使用 Jest 检查某个元素是否可见?

我有一个直接的反应补偿。我想根据反应状态测试样式。该比较如下所示: 反应补偿。 const 背景 = ({ showBackdrop }) => { c...

回答 2 投票 0

使用 import.meta 导致测试失败(Jest + React + Typescript + Vite)

在最初使用 Create-react-app 设置然后迁移到 jest 的应用程序上,由于 import.meta ,测试开始失败 由于某种原因, import.meta 的情况我得到了解决...

回答 2 投票 0

用 Jest 嘲笑的第三方库仍然尝试访问内部

我有这样的功能: 导出类型 SendMessageParams = { 聊天会话?:聊天会话, // ...其他参数... }; const sendMessage = 异步 ({ 聊天会话, // ...其他参数... }:

回答 1 投票 0

NestJS 警告运行端到端测试阻止 git hooks

我无法将代码推送到存储库,因为该项目中的 git hooks 卡住了。所以我决定手动检查测试。 当运行此 NestJS 应用程序的端到端测试时,我注意到

回答 1 投票 0

在 Jest 测试期间,Process.env 变量在函数外部不可用

我遇到了一个问题,我导入的环境变量在函数作用域之外不可用,我想知道这是有意的设计还是我做错了什么 例如我的设置看起来...

回答 2 投票 0

如何在 NextJs 中模拟 useSearchParams 挂钩以进行 RTL 和 Jest 测试?

我在我的项目中使用 NextJS 14。在登录组件中,我使用钩子 useSearchParams 从 URL 参数中获取 role_type 并基于我显示表单的值。我是 Jest 和 RTL 的新手,我

回答 0 投票 0

如何运行 Jest 测试并覆盖一个文件

我只想获得我目前正在处理的一个文件的覆盖率报告。 拥有整个应用程序文件的完整覆盖表,然后搜索...

回答 3 投票 0

开玩笑:toMatchObject 方法中的对象值是数组并检查长度(不为空)

我用 .toMatchObject() 编写 Jest 测试并遇到以下问题。我的一些对象的值是数组,我想测试它们是否有长度或为空。 我现在的代码: 测试('套房一',

回答 2 投票 0

如何在玩笑中模拟远程模块(远程React组件)?

我有一个 React 组件,我正在使用 Jest 和 React 测试库为其编写测试用例。 我的组件.tsx: 从“@remote-module/remote-component”导入 RemoteComponent 函数 MyComponent ...

回答 1 投票 0

开玩笑模拟本地存储方法

我想在玩笑中模拟 localStorage 方法以进行错误模拟。我在 utility.js 中定义了 localstorage getter 和 setter 方法。我想模拟 localStorage.setItem 抛出一个呃...

回答 5 投票 0

如何在 React 中使用 Jest 和 Enzyme 测试组件中的 prop 是否正确渲染

我有一个名为 Product 的 React 组件,如下所示: {props.headerText} 我有一个名为 Product 的 React 组件,如下所示: <div> <Wrapper> <Heading>{props.headerText}</Heading> <Service>({props.items.length})</Service> </Wrapper> {props.items !== undefined && props.items.length > 0 ? ( <TableWrapper> {props.items && props.items.length > 0 && ( <DataTable paginationSize={props.paginationSize}> <DataTable.Heading accessor="name"> Name </DataTable.Heading> <DataTable.Heading accessor="id"> Service ID </DataTable.Heading> <DataTable.Heading accessor="type"> Access </DataTable.Heading> <DataTable.Heading accessor="band"> Band </DataTable.Heading> <DataTable.Heading accessor="noUsers"> Users </DataTable.Heading> {props.tableItems.map((p, i) => { return <DataTable.Row key={i} data={p} />; })} </DataTable> )} </TableWrapper> ) : ( <NoMessage>{props.noItemMessage}</NoMessage> )} </div> 其中 Wrapper、Heading、Service、TableWrapper 是样式组件。我正在尝试 使用 Jest 和 Enzyme 测试此组件,以检查 headerText 道具是否正确呈现 。下面给出的代码是我尝试编写测试用例的方式: test("header text is being passed through correctly", () => { const wrapper = mount( <Product items={data} headerText="Service" paginationSize="5" noItemMessage="No results found" /> ); expect(wrapper.find(HeaderText).text()).toEqual("Service"); 但我收到此错误: TypeError: Cannot read property 'blue' of undefined at Object.<anonymous>.exports.RightArrow.Icons.RightArrow.extend.props (src/lib/DataTable.js:149:129) DataTable.js 中的第 149 行是: color: ${props => props.theme.secondary.blue}; 我无法弄清楚为什么会出现此错误。有人可以指导我解决这个问题吗?我只是想检查 headerText 是否从 props 中正确渲染。 在包装器中添加主题作为道具 <Product items={data} theme={{secondary: {blue: ''}}} headerText="Service" paginationSize="5"noItemMessage="No results found" /> 或者嘲笑它 import { createSpy } from 'expect'; const theme = createSpy(); <Product items={data} theme={theme} headerText="Service" paginationSize="5" noItemMessage="No results found" /> 我们可以使用 styled-componnets 的 themeProvider 来创建一个围绕 shallow 或 mount 酶方法的包装器,如下所示: import { ThemeProvider } from 'styled-components'; const mountWithTheme = (children, theme={}, options = {}) => { const wrapper = mount(<ThemeProvider theme={theme}>{children}</ThemeProvider>, options); return wrapper.mount({}); }; test("header text is being passed through correctly", () => { const wrapper = mountWithTheme(<Product items={data} headerText="Service" paginationSize="5" noItemMessage="No results found" />, { secondary: { blue: 'blue' } }); // we passed the theme we want as an argument to the mountWithTheme method expect(wrapper.find(HeaderText).text()).toEqual("Service"); }); 最好将 utils mountWithTheme 和 ShallowWithTheme 提取到不同的文件中,以便可以重用它,并且作为建议,您可以创建一个模拟主题文件,其中包含一些可以传递给这些包装器的默认主题,而不是每次我们使用这些实用程序时手动传递主题。 更多信息,请访问以下链接: https://github.com/styled-components/styled-components/issues/1319

回答 2 投票 0

如何使用 jest 为 openai 的 Node SDK 编写带有 Streaming: true 的集成测试

我在使用streaming: true 标志为openai 的node.js SDK 编写测试时遇到困难。 下面的代码在浏览器中运行得很好,我只想为它编写一个测试。 我愿意...

回答 1 投票 0

如何测试 Jest 没有抛出异常?

Jest 文档没有演示一种断言没有抛出异常的方法,而只是抛出了一个异常。 Expect(() => ...错误...).toThrow(错误) 如果没有被抛出,我如何断言?

回答 3 投票 0

覆盖react-router-dom和useHistory钩子的jest.mock

我有一个使用 useHistory 挂钩的组件。 当我编写单元测试时,我模拟了react-route-dom模块,以便在正在使用的组件中正确模拟useHistory钩子

回答 2 投票 0

开玩笑测试,服务/方法委托,期望调用所有方法

我有一个带有一些服务的应用程序(js 类/异步方法)。服务将方法委托给其他服务。我正在尝试测试是否对每项服务进行了调用。不知何故,我有...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.