Tag: jestjs

如何在玩笑testing中处理localStorage?

我一直在Jesttesting中得到“localStorage没有定义”,这是有道理的,但我的select是什么? 打砖墙。

如何使用webpack的笑话?

我使用webpack来开发一个React组件。 这是一个简单的版本: 'use strict'; require('./MyComponent.less'); var React = require('react'); var MyComponent = React.createClass({ render() { return ( <div className="my-component"> Hello World </div> ); } }); module.exports = MyComponent; 现在,我想用jest来testing这个组件。 这里是我的package.json的相关位: "scripts": { "test": "jest" }, "jest": { "rootDir": ".", "testDirectoryName": "tests", "scriptPreprocessor": "<rootDir>/node_modules/babel-jest", "unmockedModulePathPatterns": [ "react" ] } 运行npm test ,出现以下错误: SyntaxError:/Users/mishamoroshko/react-component/src/tests/MyComponent.js:/Users/mishamoroshko/react-component/src/MyComponent.js:/Users/mishamoroshko/react-component/src/MyComponent.less:Unexpected令牌非法 看起来webpack需要先处理require('./MyComponent.less')然后才能运行testing。 我想知道是否需要使用像jest-webpack这样的东西 。 […]

如何使用ES6模块模拟unit testing的依赖关系

我试图摆弄Ecmascript 6模块使用webpack + traceur transpile到ES5 CommonJS,但我有麻烦成功地unit testing他们。 我尝试使用Jest + traceur预处理器,但automocking和依赖项名称似乎变得棘手,加上我似乎无法得到sourceMaps与Jest和节点检查器debugging工作。 unit testingES6模块有更好的框架吗?

如何用Jest使用ESLint

我试图用Jesttesting框架来使用ESLint linter。 Jesttesting运行着一些像jest这样的全局variables,我需要告诉它的内容。 但棘手的是目录结构,Jest的testing是embedded在__tests__文件夹中的源代码,所以目录结构看起来像这样: src foo foo.js __tests__ fooTest.js bar bar.js __tests__ barTest.js 通常情况下,我将所有的testing都放在一个目录下,我可以在其中添加一个.eslintrc文件来添加全局variables…但是我当然不希望将.eslintrc文件添加到每个__test__目录中。 现在,我刚刚把testing全局variables添加到全局的.eslintrc文件中,但是因为这意味着我现在可以在非testing代码中引用jest ,这似乎不是“正确的”解决scheme。 有没有办法让eslint基于某些模式来应用基于目录名称或类似的规则?

我怎样才能用Jest模拟一个ES6模块导入?

我开始认为这是不可能的,但我仍然要问。 我想testing一个我的ES6模块以特定的方式调用另一个ES6模块。 与茉莉花这是超级简单 – 应用程序代码: // myModule.js import dependency from './dependency'; export default (x) => { dependency.doSomething(x * 2); } 和testing代码: //myModule-test.js import myModule from '../myModule'; import dependency from '../dependency'; describe('myModule', () => { it('calls the dependency with double the input', () => { spyOn(dependency, 'doSomething'); myModule(2); expect(dependency.doSomething).toHaveBeenCalledWith(4); }); }); 与Jest相当的是什么? 我觉得这是一件很简单的事情,但我一直在试图弄清楚自己的头发。 我最接近的是用require s来replaceimport ,并将它们移动到testing/函数中。 […]

如何使用Jesttesting单个文件?

我能够使用Jesttesting多个文件,但我无法弄清楚如何testing一个文件。 我有: 运行npm install jest-cli –save-dev 更新了package.json :`{…“scripts”:{“test”:“jest”} …} 写了一些testing。 运行npm test按预期工作(目前它运行14个testing)。 如何testing单个文件,例如testingapp/foo/__tests__/bar.spec.js ? 我试着运行npm test app/foo/__tests__/bar.spec.js (来自项目根目录),但是我得到以下错误: npm ERR! Error: ENOENT, open '<path to project>/node_modules/app/foo/__tests__/bar.spec.js/package.json' 谢谢