Articles of jasmine

ERROR :

我使用业力和茉莉花进行一些unit testing。 我想要一个html输出,而不是检查控制台/terminal,并发现这个: https : //www.npmjs.org/package/karma-htmlfile-reporter这是完美的我的要求。 当我运行它时,我得到一个错误: `ERROR [karma]: [TypeError: Cannot call method 'push' of undefined] TypeError: Cannot call method 'push' of undefined at onBrowserStart (/usr/local/lib/node_modules/karma/lib/reporters/base.js:14:20) at null.<anonymous> (/usr/local/lib/node_modules/karma/lib/events.js:15:22) at EventEmitter.emit (events.js:117:20) at onStart (/usr/local/lib/node_modules/karma/lib/browser.js:128:13) at Socket.<anonymous> (/usr/local/lib/node_modules/karma/lib/events.js:15:22) at Socket.EventEmitter.emit [as $emit] (events.js:117:20) at SocketNamespace.handlePacket (/usr/local/lib/node_modules/karma/node_modules/socket.io/lib/namespace.js:335:22) at Manager.onClientMessage (/usr/local/lib/node_modules/karma/node_modules/socket.io/lib/manager.js:488:38) at WebSocket.Transport.onMessage (/usr/local/lib/node_modules/karma/node_modules/socket.io/lib/transport.js:387:20) at Parser.<anonymous> (/usr/local/lib/node_modules/karma/node_modules/socket.io/lib/transports/websocket/hybi-16.js:39:10) […]

使用Jest CLI时如何获得承诺?

我试图用Jest CLI来testing一个承诺,这个代码在浏览器中运行时应该执行。 不过,我想开始为它编写testing。 class ListCollection { constructor() { this.items = new Array(); } addItem(string) { const addItemPromise = new Promise( function (resolve, reject) { // set up async getting like a XMLHttpRequest setTimeout( () => { this.items.push(string); resolve(string); }.bind(this), 2000); }.bind(this) ); return addItemPromise; } } 目前我正试图让这个非常基本的testing工作。 我按照与茉莉花坑相关的文件进行testing。 jest.dontMock('../collections'); import Collection from '../collections'; describe("Collection", () […]

UMD的Grunttesting

我试图找出使用UMD工厂testingJavascript模块定义的最佳方法,类似于: https : //github.com/umdjs/umd/blob/master/returnExportsGlobal.js 我不想testing模块本身,我想testing模块在各种环境中正确导出/创build: 如果CommonJS(节点),模块是否正确导出? 如果AMD,它的定义是否正确? 如果浏览器(没有requirejs),是否创build了正确的全局? 我想用grunt和jasmine来运行这些testing。 我可以使用grunt-contrib-jasmine来testing点2和3,但不能testing点1。 我想我可以使用grunt-contrib-jasmine和grunt-jasmine-node的混合来testing正确的模块定义(具体实现我仍然需要弄清楚),但是感觉非常混乱。 在高层次,有没有人知道任何现有的方法来实现这一点,而不使用多个grunt插件?

在不改变数据库的情况下testingPOST到API的策略

我正在使用jasmine-node来testing我的API,并且它对我的GET路由非常有用。 现在,但是,我需要testing一些职位,我不知道如何去改变我的数据库。 我以为有一个想法就是在每个规范的最后重置我改变的任何价值。 这是合理的还是有更好的方法去testingPOST请求到我的API?

ReferenceError:无法findvariables:require at

我有一个关于使用Grunt的茉莉花的问题。 我不断收到错误, ReferenceError:无法findvariables:require at 每当我运行我的茉莉花testing。 这是我的Gruntfile.js的jasmine条目: jasmine: { js: { src: jsFiles, options: { specs: 'tests/*_spec.js', helpers: 'tests/helpers/*', vendor: 'vendor/*' } } }, 我可以运行一个虚拟testing没有要求就好了,但是当我在一个testing中包括一个要求,像这样,我得到要求的错误。 var testD = require('../src/events_to_actions'); describe("events_to_actions", function() { it("is dummy test", function() { expect(true).toEqual(true); }); });

如何解决在npm安装peerinvalid错误?

我试图按照步骤来贡献PhysicsJS( https://github.com/wellcaffeinated/PhysicsJS#contributing ),并在npm install出现以下错误。 npm ERR! peerinvalid The package grunt-contrib-jasmine does not satisfy its siblings' peerDependencies requirements! npm ERR! peerinvalid Peer grunt-template-jasmine-requirejs@0.1.10 wants grunt-contrib-jasmine@~0.5.3 npm ERR! System Linux 3.13.0-24-generic npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" npm ERR! cwd /home/slacktracer/Dropbox/dev/PhysicsJS npm ERR! node -v v0.10.26 npm ERR! npm -v 1.4.3 npm ERR! code EPEERINVALID npm ERR! […]

让Jasmine在服务器端运行

我正在尝试开始使用Node.JS在服务器端testingJavaScript 我正在使用grunt和grunt-jasmine-node ,但我无法运行我的testing。 它只是logging PS C:\ Development \ NET \ Source \ jsn> grunt运行“jasmine_node”任务未定义 在0.001秒内完成0个testing,0个断言,0个失败 完成,没有错误。 这是我的Gruntfile.js module.exports = function(grunt) { grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), jasmine_node: { specNameMatcher: 'spec', projectRoot: '.', requirejs: false, forceExit: true, jUnit: { report: false, savePath : "./build/reports/jasmine/", useDotNotation: true, consolidate: true } } }); grunt.loadNpmTasks('grunt-jasmine-node'); grunt.registerTask('default', 'jasmine_node'); }; 而我的文件结构是这样的: 那么,我做错了什么? 这就像stub.js文件甚至没有加载,因为它有一个console.log调用来testing。

如何存根要求()/期望调用模块的“根”function?

考虑下面的茉莉花规格: describe("something.act()", function() { it("calls some function of my module", function() { var mod = require('my_module'); spyOn(mod, "someFunction"); something.act(); expect(mod.someFunction).toHaveBeenCalled(); }); }); 这工作得很好。 像这样的东西使它变成绿色: something.act = function() { require('my_module').someFunction(); }; 现在看看这个: describe("something.act()", function() { it("calls the 'root' function of my module", function() { var mod = require('my_module'); spyOn(mod); // jasmine needs a property name // […]

咕噜茉莉节点testing运行两次

我设置了grunt来运行node.js茉莉花testing。 出于某种原因,使用此configuration,结果总是显示双倍的testing。 这是我的configuration: 我正在使用插入grunt的茉莉花节点 。 /spec/some-spec.js : var myModule = require('../src/myModule.js'); describe('test', function(){ it('works', function(done){ setTimeout(function(){ expect(1).toBe(1); done(); }, 100); }); }); Gruntfile.js : module.exports = function(grunt) { grunt.initConfig({ jasmine_node: { options: { forceExit: true }, all: ['spec/'] } }); grunt.loadNpmTasks('grunt-jasmine-node'); grunt.registerTask('default', ['jasmine_node']); }; 这导致两个testing运行,而不是一个。 > grunt Running "jasmine_node:all" (jasmine_node) task .. Finished in 0.216 […]

如何用茉莉花和browserify进行unit testing?

任何最好的方式来运行浏览器风格的代码茉莉花HTML记者? 我也希望能够用phantomjs来运行这个headless,因此需要HTML记者。