草庐IT

babel-jest

全部标签

javascript - 如何避免 Jest 警告 : A "describe" callback must not return a value?

将Jest从版本23升级到版本24后,在运行我的测试时,几乎每个测试都会收到这样的警告消息:A"describe"callbackmustnotreturnavalue.Returningavaluefrom"describe"willfailthetestinafutureversionofJest.附带的堆栈跟踪指向此模块:addSpecsToSuite(node_modules/jest-jasmine2/build/jasmine/Env.js:443:15)这样做的原因是我喜欢在我的测试中使用箭头函数的简写版本,当函数体只包含一个语句时省略大括号,例如:describe('t

javascript - Babel/Karma/Chai 给出 TypeError : 'caller' , 'callee' 和 'arguments' properties may not be accessed on strict mode functions

我无法弄清楚为什么这个测试没有通过。varexpect=require('chai').expect;describe('HelloComponent',function(){it('passesaquitesimpletest',function(){expect(1+4).to.equal(5);});});产生这个错误:DEBUG[web-server]:serving:/Users/ivan/dev/react-starter/node_modules/karma/static/context.htmlDEBUG[web-server]:serving(cached):/Use

javascript - 为什么这些 Jest 不会重置?

我有影响其他测试并导致它们失败的测试代码。当我单独运行测试用例时,一切都通过了,但是当我运行整个套装时,就会出现很多失败。如果您查看下面的两个测试,您会发现我覆盖了测试中的模拟模块以导致抛出异常。HttpService.post=jest.fn(()=>{returnPromise.reject({payload:'rejected'});});此行运行后,所有需要原始HttpService.post模拟的测试都会失败,因为它们没有被重置。测试后如何将我的模拟正确恢复为导入的模拟?我已经在beforeEach中尝试过jest.resetMock以及类似的所有Jest方法,但没有任何效果

javascript - 我觉得大多数用 jest 和 enzyme 进行的组件测试都是毫无值(value)的,我错了吗?

我是使用React-Jest-Enzyme进行测试的新手,但从我收集的所有相关信息来看,在我看来,大多数测试实际上都在测试如果React库崩溃,而不是我的实际业务逻辑。我举几个例子,如果我错了请指正:快照测试:这个策略有什么问题?据我所知,它的主要目的是捕获对我的代码的任何不需要的更改。它“stringify”我的组件树,并注意到是否添加了任何新的换行符/字符,对吗?所以它主要用于那些我可能不小心按下键盘的情况?或者其他人不小心弄乱了我的代码?Enzyme的mount/shallow和Jest的我看到的大多数解释你如何使用它们的例子都是这样的:constwrapper=mount()e

javascript - 开 Jest 将对象传递给 expect().toBeCalledWith()

我正在使用jest来测试我的react组件,我正在使用expect(...).toBeCalledWith(...);来测试是否使用特定参数调用了函数,它适用于值类型。问题是我想测试一个将对象作为参数的函数,所以当你调用expect(myFunc).toBeCalledWith(object);时,测试总是失败,因为两个对象进行了比较彼此没有相同的引用。那么我该如何解决这个问题呢?我要测试的示例代码是it('thefunctionshouldbecalledwiththecorrectobject',()=>{api.submitForm=jest.fn().mockReturnVal

javascript - 模块构建失败 - Webpack、React、Babel

我正在观看pluralsight的视频教程。类(class)名称是“使用React、Flux、Webpack和Firebase构建实时应用程序”。请参阅下面的代码和所附问题的屏幕截图。每当我尝试重新构建文件时,Webpack都会失败。有人可以告知该问题可能是什么。我目前正在使用所有最新的库。/*webpack.config.js*/module.exports={entry:{main:['./src/main.js']},output:{filename:'./public/[name].js'},module:{loaders:[{test:/\.jsx?$/,exclude:/n

javascript - 需要没有 Browserify、Webpack 或 Babel 的 reactjs 模块

我正在尝试在visualstudio中设置TypeScriptHTML应用程序。我想使用reactjsv0.14.7我想避免使用像Browserify这样的工具。但是,如何使用react-dom模块呢?让我们暂时忘掉typescript。我需要先启动并运行纯ES5。目前,我有这个:varButton=React.createClass({render:function(){return(React.createElement("div",{className:"btnbtn-default"},'helloworld'));}});ReactDOM.render(React.creat

javascript - 使用 Gulp 和 Babel 缩短构建时间

我试图在添加gulp-babel后加快构建时间到我的构建过程...起初我以为gulp-cached可能会有所帮助,但这会导致编译后的文件仅包含最近编辑过的那些文件(我现在明白了gulp-cached是如何工作的)。没有babel我的构建时间是使用babel最多1.5秒。我当然希望它回到200ms...有什么想法吗? 最佳答案 使用gulp-cached和gulp-remember。只有已更改的文件才会通过管道,然后gulp-remembers将它们全部添加回去。:)returngulp.src(array).pipe(cached(

javascript - 如何使用 babel 7 添加 flatMap?

看完文章RemovingBabel'sStagePresets通过babel,我仍然不完全理解如何将提案从stage-3(flatMap)添加到.babelrc.据我了解,因为flatMap可以用ES5写,所以我需要一个polyfill而不是一个插件。我在--save-dev下安装了@babel/polyfill但浏览器仍然告诉我这个方法不存在。我猜@babel/polyfill没有涵盖实验性功能。 最佳答案 flatMap已从babel7的@babel/polyfill中删除。您需要直接从core-js中包含它,例如import"

javascript - Jest Uncovered Lines - 我如何测试这些线..?

我正在使用Jest打开覆盖选项,我得到:--------------------------|----------|----------|----------|----------|----------------|File|%Stmts|%Branch|%Funcs|%Lines|UncoveredLines|--------------------------|----------|----------|----------|----------|----------------|progress-bar.js|100|75|100|100|17|-----------------