首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在 ts + Jest 单元测试中 debugging

温馨提示:因微信中外链都无法点击,请通过文末的 “阅读原文” 到技术博客中完整查阅版; 本文简要介绍了如何在 Jest 单元测试中利用 Chrome Node DevTools 来辅助调试 1、背景 代码是...TS 写的 所测功能无 UI 界面,且出现 bug 初步定位到是循环体内部问题,功能较为复杂 用 console 式 debug 效率太低,需要打断点式调试 在 Jest 单测中进行 debugger...Chrome Node DevTools 刚开始我用 VSCode 的 Debugger 功能,在 TS 源码进行 debugger 时候,发现在源码上打断点无法准确定位: ?...2、步骤 在认为可能失败并输入的测试中插入一个 debugger。...Debugging with TypeScript, Jest, ts-jest and Visual Studio Code:对新手友好的单元测试 debugger 入门文章,一步步教你;

4K30

使用jest进行单元测试

为什么要做单元测试 在开始之前,我们先思考这样一个问题,我们为什么要做单元测试?...通用写法 "test": "jest" : 这个比较傻瓜式,当执行npm run test这条命令是会去对test目录下的所有文件进行相应的jest测试。...测试覆盖率 在package.json中的scripts下配置"test:coverage": "jest --coverage"后,然后执行相应脚本,就会在根目录输出一个coverage文件夹,里面包含了相应的测试脚本...html显示 执行 npm i jest-html-reporter安装这个模块包(这里提及一下,在npm版本大于5.x以后,可以默认不加--save这种参数),然后在jest.config.js中配置如下...json显示 在package.json中配置scripts脚本"test:exportJson": "jest --json --outputFile=.

3.6K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 Jest 进行前端单元测试

    Jest 默认使用 Jasmine 语法,支持直接使用 Promise 和 async/await 进行异步测试,支持对 React 组件进行快照监控, 扩展和集成 Babel 等常用工具集也很方便。...我们只要稍作加工,就可以指定各个文件的行为,并模拟我们想要的情况来进行不同的测试,例如本例中控制 fetchUser 的返回。...除此之外 Jest 也可以结合 enzyme 更好的在 React 项目中进行测试(enzyme 是 airbnb 开源的一个 React 测试工具,通过 Shallow Rendering 的实现对...在 Jest 中也不用像 mocha 那样通过执行 done 来通知异步结束,而是直接返回 Promise 和 async/await 就好。...,两次类似的 fetch 调用使得需要在 mock 中对不同参数做判断。

    5.6K90

    JavaScript 测试教程 part 1:用 Jest 进行单元测试

    本文是 JavaScript 测试教程 系列中的第1部分 1. JavaScript测试教程-part 1:用 Jest 进行单元测试 2....测试会使你对自己的程序更有信心。它们还能够防止你在修复一个 bug 时生成另一个 bug。你可以测试程序的方方面面,从单个函数及其返回值到在浏览器中运行的复杂程序。...用 Jest 进行单元测试 Jest 是 Facebook 开发的测试框架。它的目标之一是通过现成可用的工具提供“零配置”体验。它已经存在了一段时间,并且快速可靠。...使用 Jest,你可以使用 describe 函数对它们进行分组。它创建了一个可以合并多个测试的块。...像这样对测试进行分组可以使代码更整洁。你应该关心程序代码和对其进行测试的代码的质量。 如果出现问题,除了使代码更具可读性之外,它还有助于提供更友好的错误消息。

    2.9K20

    如何对Spring MVC中的Controller进行单元测试

    对Controller进行单元测试是Spring框架原生就支持的能力,它可以模拟HTTP客户端发起对服务地址的请求,可以不用借助于诸如Postman这样的外部工具就能完成对接口的测试。...具体来讲,是由Spring框架中的spring-test模块提供的实现,详见MockMvc。...如下将详细阐述如何使用MockMvc测试框架实现对“Spring Controller”进行单元测试,基于Spring Boot开发框架进行验证。 添加测试框架依赖: 进行断言检查更加简洁。...写在最后 使用Spring提供的测试框架MockMvc可以非常方便地实现对HTTP服务接口进行单元测试,不要把基础的功能验证工作都交给测试童鞋,应该通过单元测试来保证代码迭代的稳定性。

    2.3K30

    对 React 组件进行单元测试

    作为一种经典的开发和重构手段,单元测试在软件开发领域被广泛认可和采用;前端领域也逐渐积累起了丰富的测试框架和最佳实践。 本文将按如下顺序进行说明: I. 单元测试简介 II....单元测试简介 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。 简单来说,单元就是人为规定的最小的被测功能模块。...单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 测试框架 测试框架的作用是提供一些方便的语法来描述测试用例,以及对用例进行分组。...比如一个方法可能依赖另一个方法的执行,而后者对我们来说是透明的。好的做法是使用stub 对它进行隔离替换。这样就实现了更准确的单元测试。..._modalClass = FakeReactBootstrapModal; } } 这样测试即可顺利进行,跳过了并不重要的 UI 效果,而各种逻辑都能被覆盖了 模拟fetch请求 在单元测试的过程中

    4.3K40

    【译】《Thinking in Promises》第三章:对承诺进行评估

    我们如何看待正在履行承诺的代理人,很大程度上决定了我们对承诺的评估结果。 对机器做出的承诺进行评估是可行的,例如针对道路安全标准的合规评估,或者软件测试等。这样一来,评估行为就变成了某种对功能的评估。...评估行为本身也是一种承诺,这是一种对结果做出判断的承诺。在承诺理论中,这并不是一个什么新鲜品种。“印象”可能是关于承诺的数据点。这些数据点有可能来自测量,还有可能是来自其它代理人的转述。...代理会自行在其视野范围内对承诺的履行情况进行评估。他们还根据自己的观点评估与承诺相关联的价值。 承诺视角带来的优势之一是,我们不能像在其他建模框架中那样轻易地忽视这些评估上的差异。...这本身不是承诺理论的一部分,但它关系到我们必须如何明确地交流意图,以及在承诺系统中的每个人是否会做出相同的评估。市场品牌是通过关联从而预设文化,进行承诺的一个例子。...在音乐中,不同的声部承诺在表演中扮演不同的角色,例如旋律、保持节奏的韵律和装饰音。以下哪些乐器或声部在以下情况中扮演这些角色?

    14110

    在 Python 中对服装图像进行分类

    在本文中,我们将讨论如何使用 Python 对服装图像进行分类。我们将使用Fashion-MNIST数据集,该数据集是60种不同服装的000,10张灰度图像的集合。...我们将构建一个简单的神经网络模型来对这些图像进行分类。 导入模块 第一步是导入必要的模块。...我们需要先对图像进行预处理,然后才能训练模型。...这些层是完全连接的层,这意味着一层中的每个神经元都连接到下一层中的每个神经元。最后一层是softmax层。该层输出 10 个可能类的概率分布。 训练模型 现在模型已经构建完毕,我们可以对其进行训练。...经过 10 个时期,该模型已经学会了对服装图像进行分类,准确率约为 92%。 评估模型 现在模型已经训练完毕,我们可以在测试数据上对其进行评估。

    55051

    如何在单元测试中对写数据库进行测试?

    首先问一个问题,在接口测试中,验证被测接口的返回值是否符合预期是不是就够了呢? 场景 转账是银行等金融系统中常见的一个场景。在在最近的一个针对转账服务的单元测试中,笔者就遇到了上述问题。...在一个B端用户通过转账服务接口发起转账申请后,转账服务接口在完成发起转账申请的过程中,在完成各项合法性校验,确定可以发起转账时,会从外部流水号服务那里申请到一个全局唯一且单调递增的流水号,该流水号将作为转账申请提交成功的返回值向申请方返回...SUBMITTED"); assertThat(captured).isEqualToComparingOnlyGivenFields(expected,"flowNo","status"); } } 在之前的测试用例类中...如何对两笔申请进行单元测试,Mock又如何写?这个就留给读者自行练习了。 如果不是写库,而是通过MQ对外发布?又如何进行测试呢?...小结 本案例演示了如何使用Mockito提供的Capture特性来验证方法的传参,同时也展示了如何使用AssertJ进行对象的多个属性的断言。

    3.8K10

    如何对 Jenkins 共享库进行单元测试

    通过它,可以轻松地自定义步骤,还可以对现有的流水线逻辑进行一定程度的抽象与封装。至于如何写及如何使用它,读者朋友可以移步附录中的官方文档。 对共享库进行单元测试的原因 但是如何对它进行单元测试呢?...测试 src 目录中的 Groovy 代码 在对 src 目录中的 Groovy 代码进行单元测试前,我们需要回答一个问题:使用何种构建工具进行构建?...然后我们就可以愉快地对 src 目录中的代码进行单元测试了。 测试 vars 目录中 Groovy 代码 对 vars 目录中的脚本的测试难点在于它强依赖于 Jenkins 的运行时环境。...Groovy 对元编程非常友好。可以直接对方法进行拦截。...但是我们又不应该对共享库中所有的方法进行拦截,所以就需要我们在执行单元测试前将自己需要 mock 的方法进行注册到 helper 的 allowedMethodCallbacks 字段中。

    2.2K30

    如何对机器学习代码进行单元测试?

    作者|Chase Roberts 译者|庄道玉 编辑|Emily 目前,关于神经网络代码,并没有一个特别完善的单元测试的在线教程。...在 tensorflow 中,batch_norm 的 is_training 默认值是 False,所以在训练过程中添加这行代码,会导致输入无法标准化!...就生成式对抗网络(GAN)为例,一个常见的 bug 就是在优化过程中不小心忘记设置需要训练哪个变量。这样的代码随处可见。 这段代码最大的问题是,优化器默认会优化所有的变量。...在像生成式对抗网络这样高级的结构中,这意味着遥遥无期的训练时间。然而只需要一个简单测试,就可以检查到这种错误: 也可以对判定模型(discriminator)写一个同类型的测试。...在特别需要随机输入的场景下,确保用了同一个随机数种子。这样出现了失败后,可以再次以同样的输入重现它。 确保测试很精简。不要用同一个单元测试检查回归训练和检查一个验证集合。这样做只是浪费时间。

    2.5K100

    在VScode中对R语言进行环境配置

    从前,有一个名叫阿磊的程序员,他对编程充满了热情,但总是对新事物感到好奇又有点害怕。一天,他听说了一个强大的编程语言——R语言,它在数据分析和统计学领域非常流行。...阿磊决定要在他的VSCode编辑器中安装并配置R语言,以便他可以开始探索数据科学的奥秘。 阿磊打开了他的VSCode,开始在网上搜索如何在VSCode中安装R语言。...于是他开始在浏览器中输入“R语言下载”,结果不小心输入成了“R语言美餐”,网页上出现了各种美食图片,阿磊看得直流口水,完全忘记了下载R语言的事情。...阿磊终于可以开始他的R语言学习之旅了,虽然过程中有一些小插曲,但他学到了一个宝贵的教训:在安装软件和扩展时,一定要仔细阅读说明,不要被名字所迷惑。...复制下来,在vscode设置找到键盘的json文件 参考:请点击这里跳转 [ { "key": "alt+-", "command": "type", "when": "

    14810

    学习笔记——在vue中如何配置Jest(一)

    最近在搞Jest单元测试,如何在vue中安装和使用jest我就不说了,前一篇文章简单的说了一下在使用jest时遇到的一些问题,但是我觉得并没有真正的解决的很好。...采用的方式就是新建一个空的vue-cli生成的用jest来做单元测试的项目,这就导致了测试环境的配置是极为脆弱的。而且还有十分大的隐患。但是又没办法一下子解决。...所以,我想在这篇文章中,整理记录一下jest的配置参数的用法等。   jest的配置文件是单独生成在unit文件夹下的一个独立文件,并没有和vue-cli生成的webpack构建的环境相关联。...这是当前版本的vue-cli生成的jest.conf.js的配置文件,我们可以在package.json中的配置项里看到,我们在npm run unit 的时候,真正运行的就是这个文件的配置。   ...这样我们就解释完了基础配置的参数,学习过后,我们对jest的配置有了一个基本的了解。但是要想写单元测试文件,还是远远不够的。下一篇文章,我会介绍如何在为vue的单文件组件写测试用例。

    1.8K10

    学习笔记——在vue中如何配置Jest(一)

    最近在搞Jest单元测试,如何在vue中安装和使用jest我就不说了,前一篇文章简单的说了一下在使用jest时遇到的一些问题,但是我觉得并没有真正的解决的很好。...采用的方式就是新建一个空的vue-cli生成的用jest来做单元测试的项目,这就导致了测试环境的配置是极为脆弱的。而且还有十分大的隐患。但是又没办法一下子解决。...所以,我想在这篇文章中,整理记录一下jest的配置参数的用法等。   jest的配置文件是单独生成在unit文件夹下的一个独立文件,并没有和vue-cli生成的webpack构建的环境相关联。...一、默认配置文件参数的意义 我们先来看一张图,然后我一一介绍说明他们都是用来做什么的:   这是当前版本的vue-cli生成的jest.conf.js的配置文件,我们可以在package.json中的配置项里看到...这样我们就解释完了基础配置的参数,学习过后,我们对jest的配置有了一个基本的了解。但是要想写单元测试文件,还是远远不够的。下一篇文章,我会介绍如何在为vue的单文件组件写测试用例。

    2K30

    ASP.NET Core 对Controller进行单元测试

    单元测试对我们的代码质量非常重要。很多同学都会对业务逻辑或者工具方法写测试用例,但是往往忽略了对Controller层写单元测试。我所在的公司没见过一个对Controller写过测试的。...今天来演示下如果对Controller进行单元测试。以下内容默认您对单元测试有所了解,比如如何mock一个接口。...在这里多叨叨一句,面向接口的好处,除了能够快速的替换实现类(其实大部分接口不会有多个实现),最大的好处就是可以进行mock,可以进行单元测试。...进行mock 我们使用ASP.NET Core框架进行登录认证的时候,往往使用HttpContext.SignInAsync进行认证授权,所以单元测试的时候也需要进行mock。...下面是一个典型的登录Action,对密码进行认证后调用SignInAsync在客户端生成登录凭证,否则跳到登录失败页面。

    2K30

    对 WordPress 主题进行单元测试(Theme Unit Test)

    在制作 WordPress 的过程中,除了对整体的结构等进行排版布局等,还必须要对正文的内容和其他地方进行修饰和排版,例如正文中可能出现的 标题(h2、h3)、列表(ul、ol)、表格(table) 以及不同的文章类型效果等等...主题单元测试基础 导入官方 unit 测试数据 首先你需要在本地或者服务器上建立一个新的 WordPress 站点,用来进行主题的单元测试。安装方法跟普通的 WordPress 站点一样。...http://wpthemetestdata.wordpress.com/ 这个网站上的,这个网站在国外,可能会不太稳定导致无法导入附件等文件,然而图片等文件在单元测试中是非常重要的一部分,所以遇到这种情况...“编辑”链接 在评论内容中的 HTML 结构也需要进行修饰,特别是列表(list)和引用(blockquote)对象 当评论关闭的时候,评论表单不能显示 当评论关闭的时候,应该明确提示“评论已经关闭”...总结 主题的单元测试,是一个必不可少的主题测试步骤。我爱水煮鱼在这里结合官方文档进行了整理,如果想要看完整版的单元测试,可以到单元测试官方页面查看。

    1.9K10
    领券