问题标签 [ts-jest]
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.
javascript - 如何在 Vue.js Jest 测试中正确模拟新日期,以便快照不会失败?
目标是模拟 javascript Date 对象,以便在我运行测试和评估快照时,快照并不总是失败。
我正在尝试为new Date
在 Vue 2.6.8 应用程序(这是一个 Typescript 项目)中利用构造函数的函数编写一个 Jest 测试。
我已经绑定了一个调用maxDate
组件的变量。它使用 getter 根据需要计算值。目标是限制日期选择器的可选范围。代码如下所示:
Vue模板:
Vue类方法:
开玩笑测试(匹配快照):
我的问题是:我如何防止我的快照失败,因为每次运行测试时日期都会改变?
例如,当我第一次运行测试并生成快照时,我在快照本身中得到了类似的东西。
首次运行(生成快照):
下次我运行测试时 - 确切地说是一分钟后 - 快照将失败,因为它将期待上一个日期,但现在正在获取不同的数据。
第二次运行(快照失败):
javascript - jest/enzyme 测试因导入服务而失败
我有一个开玩笑的测试,它正在测试一个浅渲染的组件:
它失败的地方在这里:
在组件处,svc
正在被导入并用于componentDidMount
其他任何东西都只是我写的自定义服务:
我不确定如何通过此测试。测试本身有什么我遗漏的吗?
javascript - Jest/node.js:自定义 console.log 输出?
我AWS
写了一些 lambda typescript
,我正在使用jest
.
测试工作正常,但console.log
代码行的输出冗长且难以扫描。
运行测试时,在我的控制台中,我看到如下内容:
开玩笑(或其他什么?)为每次调用console.log()
.
当我宁愿看到类似的东西时:
我也不介意看到一些时间戳。
有没有办法配置/控制这个日志输出?
注意事项:
- 我不想更改实际代码——我特别不想添加一个完全成熟的日志库或类似的东西。
- 我仍然希望看到控制台日志记录(即
--silent
绝对不是我想要的)。 - 我不是在尝试测试控制台日志记录,我只是想让它更易于阅读。
- 我试过
--verbose=false
了——但似乎没有任何区别。
unit-testing - 开玩笑的单元测试问题:“找不到模块”
目前 Jest 未能通过测试,因为它无法找到组件内调用的模块:
案子
在NuxtJs中,这些@@
标志是指根目录,因为最终我们希望将图像存储在位于项目根目录中的 public 文件夹或 storage 文件夹中。
运行测试时,jest会检查src
文件夹,然后尝试挂载从根目录存储的图像,但找不到它们。
我尝试了许多不同的方法来解决这个问题,但似乎无法找到解决方案。这是我已经尝试过的候选清单:
- 更改
regex
以检查图像文件并使用moduleNameMapper
Jest 配置文件中的选项将其引导到正确的文件夹。 - 我在 Stack 上读到了一些关于使用通过 javascript 导出图像文件的“模拟”文件夹,但这没有用。
- 使用
modulePaths
Jest 配置文件中的选项。 tsconfig.js
在资产文件夹中创建别名并在moduleNameMapper
- 在 VueJS 组件和测试文件中尝试了一种不同的方法来加载资产,这破坏了编译过程(所以我恢复了它)。
当前的 Jest 配置文件
当前文件夹结构(仅用于测试的文件夹)
有什么建议么?
我修jest.config
吗?
语法有问题吗?
我必须修复tsconfig
吗?
node.js - 开玩笑通过测试但 --covering 选项不拾取文件
问题描述:
我为一个打字稿类写了两个测试。这两个测试通过了,所以 jest 成功地检索了测试文件。然后我使用 --coverage 选项,但似乎 jest 没有在这里选择覆盖的文件。
这是我得到的输出:
我曾尝试使用 collectCoverageFrom 选项,但没有任何成功。我已经用在 github 上找到的一些简单示例进行了测试,这些示例可以正常工作,因此问题不在于我的环境。我猜我以某种方式错过了我的配置中的某些内容,但是我花了很多时间在这上面,我有点沮丧,所以也许一些新的外观会有所帮助..
项目架构:
Jest.config.js :
包.json
jester.nodemon.json
jestjs - 如何使用 NestJS + Nest Crud 创建服务测试?
有谁知道使用Crud 库在 NestJS 上测试服务的正确方法是什么?
这是我的服务测试类:
这是我的服务类:
当测试运行时,这是发生的错误:
提前致谢!
Lorem ipsum dolor sit amet, consectetur adipiscing elit。Sed 坐在 amet nulla libero。塞德劳雷特。
protractor - 角度测试 - 将 Jest 与量角器一起使用
我是 Angular 测试的新手,我想为我的应用程序执行 2 种测试:
- 单元测试 - 我选择使用Jest,因为我可以在不打开浏览器的情况下运行我的测试,并且它还支持使用--testNamePatern对特定情况进行测试。
- 端到端测试 - 我想试用Protractor,因为它可以在 Angular 中使用,并且还有一个庞大的 Angular 社区可供使用。
我的问题是,我可以在我的应用程序中同时使用 Jest 和 Protractor 吗?如果是,我是否需要配置任何东西才能在我的应用程序中同时使用它们。
protractor - 如何在 Angular 8 中为 Protractor 配置 Jest 规范报告器?
对于 Angular 中的端到端测试,我想尝试一下 Protractor with Jest for Angular 8。在配置文件protractor.conf.js中,默认定义了 Jasmine 的规范报告器:
我的问题是,我怎样才能像这样进行类似的配置,但对于 Jest?
typescript - Typescript React 本机项目中 DrawerNavigator 的笑话测试失败
我是 React Native 和 Typescript 的新手。我一直在用 Stack Navigation 和 Drawer Navigation 实现一个小项目。该项目一直运行良好,但现在我必须进行一些单元测试。我从一个非常简单的开始,但失败了:/
这是应用程序导航的代码:
导航器.tsx
这是测试:
应用测试.tsx
使用“纱线测试”执行测试时,我得到以下信息:
src/screens/Navigator.tsx:50:38 - error TS7031: Binding element 'navigation' implicitly has an 'any' type
所以我用“导航:NavigationScreenProp”更改了“导航”:
并且测试通过了!...但是现在当我尝试使用“this.props.navigation.navigate('Map')”进入 DrawerNavigator 的屏幕之一时,例如 MapScreen,我得到了错误:
我看到问题出在这一行:
但我不知道如何解决它,也不明白为什么它只适用于 '({ navigation })'
有任何想法吗?
javascript - ts-jest:将“@”字符映射到 /src 文件夹
我有一个带有打字稿的节点项目,并且在我的 tsconfig.json 文件中配置了以下路径:
我的配置文件位于 /project 文件夹,我的源位于 /project/src
它工作正常,它正确地将 @xxx/yyy 映射到 src/xxx/yyy 和 @project/package.json 到 /project/package.json
我正在尝试使用 ts-jest 实现相同的目标,我尝试在我的 jest.config.js 文件中使用以下 moduleNameMapper:
但我收到以下错误:
另一方面,如果我像这样映射 /src 中的每个文件夹:
它工作正常,但我必须用我添加的每个新根文件夹更新它。
有没有标准的、推荐的方法来实现这样的事情?我希望有一个特殊字符(在本例中为 @)指向我的 /src/ 文件夹。
还尝试将 '@' 替换为 '$' 但也有其他错误...