问题标签 [msw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vue.js - 在“测试套件未能运行找不到模块'@vue/compiler-sfc'”上运行开玩笑测试错误时
跑步时vue-cli-service test:unit
我得到
我收到上述错误。
我的 package.json 中有以下内容
我试过删除我的节点模块,重新安装等。没有运气
下面是我的测试脚本
jest.config.js 上面。
我已经安装了 msw 并设置了它的帮助程序/处理程序等,但是当我运行我的测试脚本时,我得到了上面我假设它与我试图导入的 vue 组件有关?其他人在尝试使用 jest 和 vue 时遇到同样的问题或解决了类似的问题?
reactjs - 使用 openApi 后端模拟服务工作者
我正在使用MSW和OpenAPI 后端包。我想模拟展位浏览器服务器和测试服务器。我有 OpenAPI 定义可用的表格,我为 RTK 查询生成了 generate.ts(超出了这个问题的范围)。我想使用 OpenAPI 规范将它与 OpenAPI 后端一起使用,并为浏览器和测试生成 MSW 休息工作人员。
接下来是设置:
索引.tsx
模拟/浏览器.ts
api.JSON
组件.tsx
这是 localhost:3000/links
我得到的错误是:
网络选项卡提供:
所有相关文章:https ://dev.to/epilot/testing-react-with-jest-and-openapi-mocks-8gc 和https://testing-library.com/docs/react-testing-library/example -介绍/
谢谢你。
node.js - React 单元测试在管道中失败
我正在使用模拟服务人员来模拟 api。我编写了一些单元测试,这些测试在我的本地和部署时通过。但是在 PR 构建期间,他们总是失败并出现错误:
我的单元测试
上面的元素应该被启用,因为有代码 componentDidMount() 函数,它触发了一个 api 来调用一个函数,但是在调用 api 时,它没有使用 mocks。
api 的模拟处理程序
handler.js
模拟服务工作者设置
服务器.js
jest.setup.js
reactjs - 在使用 MSW 和 RTK Query 时使用 Jest 进行测试会导致测试出现奇怪的错误
我一天中的大部分时间都在试图解决这个非常烦人的错误。
我正在使用 redux-toolkit、MSW、RTK 查询和 React 测试库,目前正忙于编写一个测试简单登录流程的集成测试。
我遇到的问题是我在一个测试套件中测试两种不同的场景,一种是成功登录,一种是失败的。
当我一次运行一个时,我没有遇到任何问题,但是当我同时运行两个时,我收到以下失败场景的错误。
奇怪的是,失败的场景不应该到达调用 API 调用的页面,这会导致这个额外的 reducer 匹配器,因此为什么没有有效负载并且会发生错误。
当我在浏览器中测试时不会发生这种情况,只有在使用 Jest 测试时才会发生。
以下是我的测试:
下面是我的测试设置:
下面是我的setupTests.ts
文件。
最后是我的 MSW 文件。
处理程序
服务器
有任何想法吗?
感谢你的帮助!
javascript - 带有 Content-Disposition 的 HTTP 响应不会触发下载
我使用msw来模拟自动化 FE 测试的后端响应。
我想为用户创建的数据创建一个导出功能。我正在POST
向所需路线发出请求,并希望返回带有 .csv 的响应;.pdf;.xls 文件,应自动下载。
我一直在寻找适当的方法来做到这一点,并遇到了Content-Disposition
响应标头。
可悲的是,响应没有触发保存对话,也没有开始下载,但我找不到错误。
编辑:经过几次对话和一些独特的情况后,我决定为生成的 Blob-Data 创建一个 ObjectURL,并通过
window.open()
调用强制下载。我在处理程序中更改了预期的响应,并在我的 FE 中添加了相应的调用。
handlers.js
存储模块.js
让我向您展示工作流程:
一些组件.vue
存储模块.js
服务.js
最后是来自 handlers.js 的 MSW Response 函数
}),
我找不到它的问题,因为响应看起来像预期的那样:
reactjs - 如何将 Mock Service Worker 与 AWS App Sync GraphQL 查询结合使用?
我有这个查询,但 MSW 没有调用它。
我的处理程序如下所示:
我有一个如下所示的 setupTests.ts 文件:
在我的控制台中出现以下错误:
cookies - 如何使在节点+ jsdom(用于测试)中运行的模拟服务工作者接收跨域cookie?
我有一个带有 Jest + MSW 的复制仓库,我正在尝试让 MSW 接收跨域 cookie。默认情况下,JSDOM 加载在http://localhost
. 当向这个域发送获取请求并且 MSW 也在这个域上监听时,一切都很好,cookie 被接收到。
但是,当尝试向另一个域发送请求时,例如http://localhost:4444
,不会向 MSW 发送任何 cookie。奇怪的是,如果我注释掉 MSW 并在同一个端口上启动一个快速服务器,它确实会收到所有的 cookie。为什么它们被发送到快递服务器而不是MSW?
最后,同样奇怪的是,如果 MSW 和 express 服务器都在运行,MSW 在 4444 上,Express 在 5555 上,express 服务器将不再接收 cookie。就好像 MSWbeforeAll(() => server.listen());
正在以某种方式杀死跨域 cookie。
饼干套装:
如何向 MSW 发送跨域请求并让它接收 cookie?
reactjs - 使用 MSW 测试 React-query,并将数据传递给子组件
我正在使用 React-query 并尝试对其进行测试,在父组件中调用数据并传递给子组件以呈现项目列表。我已经设置了 MSW,但是当我尝试测试时:
我明白了:
父组件是这样的:
设置测试:
处理程序
服务器
我在错误的地方测试吗?
reactjs - 使用 react-testing-library 测试模拟商店时遇到问题
好的,我想用 fetching(反应测试库)测试 redux 工具包。我有一点麻烦。
我已经模拟了商店(fetchedMockedState)并对其进行了测试(就像一个魅力,不包括在内)。然后我想测试向商店添加另一个注释。它包括以下内容:
- 测试点击添加(浮动操作按钮)
- 表格出现
- 测试填充两个输入
- 测试点击按钮添加注释
- 它应该隐藏表单并执行模拟提取(不起作用,表单仍在文档中,期望两个 id 元素
listItemElement
(从存储映射)的查询失败,同时显示长度结果为 1)
javascript - Jest 未能等待 axios 承诺破坏测试
我正在使用 Jest 作为测试运行程序编写测试,尝试使用 Mock Server Library ( https://mswjs.io/ ) 来模拟服务器。出于某种原因,Jest 似乎没有等待 Axios 调用的承诺。
为了隔离他的问题,我创建了一个简单的示例:一个 Vue 组件,它向测试 api 触发 axios 发布请求,然后使用响应中的值更新模板。
jsonplaceholder.typicode.com 发布请求文档在此处描述: https ://jsonplaceholder.typicode.com/guide/
它返回此输出
因此,一旦返回响应并且“result_id”的值为 101,屏幕上就会出现“RESULT 101”。在浏览器中它可以完美运行。
但在 Jest 中却没有。这是失败的 Jest 测试:
所以我使用 msw 模拟服务器并返回 200 状态,然后渲染页面,模拟按钮单击,并尝试查询包含“RESULT 101”的 div(使用 queryByText 或 queryByTestId),但 v-if指令永远不会被触发并且 'result_id' 没有被设置。因此,Jest 似乎没有等待 axios 承诺,并且“result_id”保持为空,而不是从响应中接收 101 值。
不确定我的代码是否有问题,或者是 Jest 甚至是 mswjs 错误。