草庐IT

使用 Jest 在 Visual Studio Code 中进行更好的单元测试

目录前言:使用Jest扩展显著改善测试流程1.自动启动Jest测试2.显示单个失败/通过的测试用例允许调试单元测试在文件中显示代码覆盖率结论前言:Jest是一个流行的JavaScript测试框架,它提供了简洁、灵活和强大的工具来编写和运行单元测试。在VisualStudioCode(VSCode)中使用Jest可以进一步提升单元测试的效率和体验。使用Jest扩展显著改善测试流程  我用Jest编写单元测试已经有5-6年了。它总是能够为类、方法和组件编写适当的单元测试。在我的所有项目中,总是通过命令行运行Jest。  我在初始化项目时设置了一个简单的 npmtest或 yarntest命令,并在

javascript - 指定在任何 Jest 设置发生之前运行的代码

tl;dr是:1)我怎样才能让Jest使用nativerequire函数在任何地方加载我的测试中的所有模块。2)我将在哪里/如何进行修改(即替换为esm加载程序)https://github.com/standard-things/esmrequire函数在一个地方,在任何测试运行之前,因此所有测试都将使用修改后的require。我想使用esm-loader与我的Jest测试文件。为此,我需要在运行任何测试代码之前全局修补require函数,例如require=require("@std/esm")(模块,{esm:"js",cjs:true});我如何告诉Jest在触及或请求任何其他

javascript - 指定在任何 Jest 设置发生之前运行的代码

tl;dr是:1)我怎样才能让Jest使用nativerequire函数在任何地方加载我的测试中的所有模块。2)我将在哪里/如何进行修改(即替换为esm加载程序)https://github.com/standard-things/esmrequire函数在一个地方,在任何测试运行之前,因此所有测试都将使用修改后的require。我想使用esm-loader与我的Jest测试文件。为此,我需要在运行任何测试代码之前全局修补require函数,例如require=require("@std/esm")(模块,{esm:"js",cjs:true});我如何告诉Jest在触及或请求任何其他

javascript - 如何在 Jest 中模拟导出的常量

我有一个依赖于导出的const变量的文件。此变量设置为true,但如果需要,可以手动将其设置为false,以防止在下游服务请求时出现某些行为。我不确定如何在Jest中模拟const变量,以便我可以更改它的值以测试true和false条件.例子://constantsmoduleexportconstENABLED=true;//allowThroughmoduleimport{ENABLED}from'./constants';exportfunctionallowThrough(data){return(data&&ENABLED===true)}//jesttestimport{a

javascript - 如何在 Jest 中模拟导出的常量

我有一个依赖于导出的const变量的文件。此变量设置为true,但如果需要,可以手动将其设置为false,以防止在下游服务请求时出现某些行为。我不确定如何在Jest中模拟const变量,以便我可以更改它的值以测试true和false条件.例子://constantsmoduleexportconstENABLED=true;//allowThroughmoduleimport{ENABLED}from'./constants';exportfunctionallowThrough(data){return(data&&ENABLED===true)}//jesttestimport{a

javascript - Jest 等同于 RSpec 惰性评估变量 (let)?

在rspec中你可以这样做:let(:input){'foo'}before_eachdosetup_some_thing(input)endcontext'wheninputisbardolet(:input){'bar'}it'doessomethingdifferent'doendendcontext'wheninputisbazdolet(:input){'baz'}it'doessomethingelsedifferent'doendend这允许您将大型对象的方法调用或实例化定义为其较小部分的总和。然后,您可以在不同的上下文中覆盖那些单独的小部分。这个想法是您在每次测试之前创

javascript - Jest 等同于 RSpec 惰性评估变量 (let)?

在rspec中你可以这样做:let(:input){'foo'}before_eachdosetup_some_thing(input)endcontext'wheninputisbardolet(:input){'bar'}it'doessomethingdifferent'doendendcontext'wheninputisbazdolet(:input){'baz'}it'doessomethingelsedifferent'doendend这允许您将大型对象的方法调用或实例化定义为其较小部分的总和。然后,您可以在不同的上下文中覆盖那些单独的小部分。这个想法是您在每次测试之前创

javascript - 使用 Jest 测试 React Component 函数

原创首先,我关注Flux架构。我有一个显示秒数的指示器,例如:30秒。每过一秒它就会少显示1秒,所以29、28、27直到0。当到达0时,我清除间隔以使其停止重复。此外,我触发了一个Action。发送此操作时,我的商店会通知我。所以当发生这种情况时,我将间隔重置为30秒,依此类推。组件看起来像:varIndicator=React.createClass({mixins:[SetIntervalMixin],getInitialState:function(){return{elapsed:this.props.rate};},getDefaultProps:function(){ret

javascript - 使用 Jest 测试 React Component 函数

原创首先,我关注Flux架构。我有一个显示秒数的指示器,例如:30秒。每过一秒它就会少显示1秒,所以29、28、27直到0。当到达0时,我清除间隔以使其停止重复。此外,我触发了一个Action。发送此操作时,我的商店会通知我。所以当发生这种情况时,我将间隔重置为30秒,依此类推。组件看起来像:varIndicator=React.createClass({mixins:[SetIntervalMixin],getInitialState:function(){return{elapsed:this.props.rate};},getDefaultProps:function(){ret

javascript - Jest spyOn 函数调用

我正在尝试为一个简单的React组件编写一个简单的测试,并且我想使用Jest来确认在我使用enzyme模拟点击时调用了一个函数。根据Jest文档,我应该能够使用spyOn来执行此操作:spyOn.但是,当我尝试这样做时,我不断收到TypeError:Cannotreadproperty'_isMockFunction'ofundefined这意味着我的spy未定义。我的代码如下所示:importReact,{Component}from'react';importlogofrom'./logo.svg';import'./App.css';classAppextendsComponen