将 Jest 添加到Explainerjs

本周我们应该向我们的 cli 工具添加测试。迄今为止最令人沮丧的事情。

为什么我选择杰斯特

我是 TDD(测试驱动开发)的坚定支持者。几乎每一段代码都应该被测试。在我的合作期间,我一半以上的时间都花在为我的 PR 编写测试上。我相信这段经历确实帮助我理解了测试的必要性。我很惊讶地发现 JS 和 Ruby 中的测试框架是如此相似。我使用的 Jest 与我在合作期间使用的 RSpec 非常相似。为了模拟 http 请求,我使用了类似于 VCR 的 Nock。

我遇到的问题(很多)

我面临的主要问题是我使用了 ESM 而不是 CommonJS。这让我的生活变得更加困难。第一个问题是 jest.mock 不起作用。经过一些研究,我意识到 ESM 中的模拟方式是不同的。不幸的是,即使遵循文档后我也无法让它工作。所以,我不得不做 jest.spyOn。我面临的第二个问题是,由于 execa 在 child_process 中运行 index.test.js,尽管运行它不会影响覆盖率报告。所以我不得不使用 jest.spyOn 来重写测试。我还必须重构index.js,以便它不会采用我传递给笑话的标志。我遇到的其他较小问题是,使用 node –experimental-vm-modules –no-warnings node_modules/jest/bin/jest.js -c jest.config.mjs 而不是 jest -c jest.config.mjs 因为我是使用 ESM。我还必须使用mock-fs来复制文件系统来测试FilepathResolver.test.js,因为简单的jest.spyOn没有对其进行足够彻底的测试。我很惊讶仅仅使用 ESM 就造成了如此多的障碍,这恰恰反映出 JS 是多么混乱。

经过多次尝试错误,我得到了相当好的覆盖范围。

将 Jest 添加到Explainerjs

以上就是将 Jest 添加到Explainerjs的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2591317.html

(0)
上一篇 2025年3月6日 16:48:57
下一篇 2025年3月3日 19:42:18

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 行为驱动开发 (BDD) 的演变和相关性

    行为驱动开发 (BDD) 已成为现代软件开发的关键方法,使团队能够以技术和非技术利益相关者都可以访问的语言编写测试。此实践的重点是在开发人员、测试人员和业务团队之间就应用程序的行为方式达成共识。在本文中,我们将探讨 BDD 的演变、其核心概…

    2025年3月6日
    200
  • Web 开发的要点:构建成功的数字基础

    在当今数字优先的世界中,拥有一个精心设计、用户友好的网站至关重要。对于任何企业或组织来说,网站通常是客户和用户的第一印象,是关键的接触点和增长的重要驱动力。专业开发的网站超越美观,它涵盖功能、性能、安全性和用户体验,这些是创建强大在线形象的…

    2025年3月6日
    200
  • Web 开发的演变:从静态 HTML 到动态 Web 应用程序

    自互联网诞生之初以来,Web 开发已经取得了长足的进步。最初简单的静态 HTML 页面已转变为由现代技术支持的动态、交互式和身临其境的体验。这一旅程不仅反映了技术的进步,还反映了我们与网络交互方式的转变。 静态网页时代网络的早期是由 20 …

    2025年3月6日
    200
  • Choosing Your Tech Stack: A Developer&#s Journey

    当我第一次踏上编码之旅时,我对可用的编程语言和技术堆栈的数量感到不知所措。感觉就像走进一个广阔的图书馆,每本书都承诺一次不同的冒险,但我不知道从哪里开始。 最初的困惑 作为编码世界的新手,我对不同语言的潜力、各种技术堆栈以及与不同编码相关工…

    2025年3月6日
    200
  • GraalVM:JVM 世界的瑞士军刀

    让我们沿着记忆之路走一走,了解一下graalvm这位超级英雄。想象一下你在一个聚会上,每个人都在说不同的语言——java、javascript、python、ruby,甚至还有一些晦涩难懂的语言,比如 r。在这种混乱之中,你希望有人能理解所…

    2025年3月6日
    200
  • OOP-Camp:原始类型的秘密生活

    一开始,书呆子们做了 1 和 0 并且发现它很好 我曾经告诉我的高中生,程序员所做的就是字面意义上的魔法:我们在岩石上刻下符文,将光线穿过它,结果,我可能会被孟加拉国的一名大学生在社交媒体上称为新的诽谤。 抽象能为你做的事情令人难以置信。稍…

    2025年3月6日
    200
  • 全栈 JavaScript 开发人员

    寻找全栈 React 开发人员来帮助构建和维护我们的数据库、后端/中间件和前端。必须精通 React。您将接受一项考试来挑战您的 React 编码技能。不允许有任何机构。我们只寻找独立开发者。 职位要求: 接受过计算机编程和软件开发培训能够…

    2025年3月6日
    200
  • Nodejs 的内存限制到底是多少?

    熟练掌握 node.js api 可以让您快速入门,但深入了解 node.js 程序的内存占用可以让您走得更远。 让我们首先通过 process.memoryusage() 查看内存使用情况,每秒更新一次: setinterval(() =…

    2025年3月6日
    200
  • 如何为医疗保健行业开发 SaaS 应用程序

    为医疗保健行业开发 SaaS(软件即服务)应用程序需要采取细致的方法来满足行业的特定需求,同时遵守严格的法规。这是分步指南: 1.了解市场并明确目的 识别医疗保健中的痛点,例如患者管理、计费、远程医疗或数据分析。定义应用程序的目标受众:医院…

    2025年3月6日
    200
  • 您希望早点了解的编程秘密

    您是否一直在尝试修复错误或让代码运行得更好?或者也许您只是想学习一些新东西而不是费尽心思?好吧,让我告诉你0x3d.site。对于像您这样的程序员来说,这是一座金矿。该网站提供了一些提示和技巧,可以帮助您改进代码,无论您使用哪种语言。无论您…

    2025年3月6日
    200

发表回复

登录后才能评论