我看到了this post的帖子,并很高兴尝试一下,但我无法让它工作.试图保持这个简单只是为了弄清楚什么是错的,但即使这样也是失败的.export class SomeService { ... private _myValue: Boolean = false; get myValue(): Boolean {return this._myValue; } set myValue(helper: Boolean) {this._myValue = helper; }在我的单元测试中,我有:it('should ', inject([SomeService], (someService: SomeService) => { let oldValue...
我有一个获得3个参数的函数.我想检查一下这个函数没有抛出错误.我做了这样的事情:expect(myFunc).not.toThrow();问题是myFunc需要得到参数.我该如何发送论据? P.S我试图传递它的参数,但我得到错误,myFunc(arg1,arg2,arg3)不是一个函数.解决方法:toThrow匹配器需要将函数作为参数传递给期望,这样您就可以简单地将函数调用包装在匿名函数中:expect(function() {myFunc(arg1, arg2, arg3); }).not.toThrow();您还可以使用bind创建函...
在茉莉花中,有很多人可以和很多人一起去比赛. 如果我想检查特定范围内的整数值怎么办?有什么比toBeInBetween matcher? 目前,我可以在两个单独的期望调用中解决它:var x = 3;expect(x).toBeGreaterThan(1); expect(x).toBeLessThan(10);解决方法:您可以运行布尔比较并断言结果为true:expect(x > 1 && x < 10).toBeTruthy();此外,还有由jasmine-matchers引入的BeWithinRange()自定义匹配器:expect(x).toBeWithinRange(2, 9); /...
当涉及监视jQuery函数(例如绑定,单击等)时,很容易:spyOn($.fn, "bind");问题是当你想监视$(‘…’)并返回已定义的元素数组时. 在SO上阅读其他相关答案后尝试了一些事情:spyOn($.fn, "init").andReturn(elements); // works, but breaks stuff that uses jQuery selectors in afterEach(), etc spyOn($.fn, "merge").andReturn(elements); // merge function doesn't seem to exist in jQuery 1.9.1 spyOn($.fn, "val").andReturn...
我正在为AngularJS指令编写测试,该指令触发< textarea>的事件.当某些键被按下时.根据我的手动测试,一切正常.我想要做得很好,也有一个完整的单元测试套件,但是我遇到了一个我自己无法解决的问题: 我想在我的测试中的triggerHandler()调用中发送一个特定的keyCode,但我找不到一种方法来指定实际工作的密钥.我知道有关构建和发送具有特定数据的事件的主题的许多问题和答案,但它们都不适用于我的设置: 我的设置 > Karma试验跑步者> P...
我正在尝试测试postMessage API,因为在收到消息之前有一点延迟我发送消息后无法立即运行期望. 在jasmine 1.3中我习惯等待()几毫秒才能运行期望,并且运行正常.然而,对于jasmine 2.0,wait()已被弃用,现在看来setTimeout中的所有内容都不会运行,除非调用done(),在我的情况下,女巫不会削减它,因为我实际上想要在运行我的期望之前等待实时.. 不确定这一切是否有意义,如果确实如此,我会喜欢关于如何解决这个问题的一些指示.谢谢!解决方法...
使用JasmineJS编写测试时,我有许多测试具有类似的beforeEach / afterEach代码. 有没有办法使用JasmineJS测试套件实现继承模型? 我可以在一个描述中对所有测试进行分组,但在这种情况下,我将以包含所有测试的单个HUGE JS文件结束. 我想分开每个页面的测试. 这是一个例子:describe('Services Page', function() {beforeEach(function() {login_as_admin()})beforeEach(function() {browser().navigateTo('/services')})if('Some tes...
我成功地构建了我的maven项目,该项目使用jasmine-maven-plugin将源代码和测试javascript文件放在正确的位置.当我有一个简单的测试,如:describe('true', function() {it('should be true', function() {expect(true).toBe(true);}) })整个事情没有任何问题,所有的茉莉花规格都通过了.但是当我尝试创建一个对象的实例时,我在其中一个包含target / jasmine / src文件夹的文件中列出了该实例,我得到一个“ReferenceError:”Stat“未定...
我一直在使用Jasmine测试和特别是异步测试一段时间,我无法弄清楚它是如何检测它是否应该等待,如果你在测试中使用done(),可能会超时.它工作得非常好,我真的很好奇他们是如何做到的. 我们来看看这个简单的测试.这两个显然有用(BTW,即使没有beforeEach()):it('Sample test', function () {expect(true).toBe(true); });it('Sample test with done', function (done) {expect(true).toBe(true);done(); });但是,如果我在第二次测试中没...
这是我第一次尝试编写测试.我使用bower在我的项目中安装了jasmine 2.4.1:bower install jasmine --save结果这就是我在libs文件夹中的内容我只是无法弄清楚下一步要做什么来设置specRunner.html.我在网上找到的所有教程都专注于以前版本的jasmine,它们似乎有specRunner.html文件和稍微不同的包结构.我在github上找到的安装说明已经过时,可追溯到2.0.0版本.在github page上找到有用的信息也没有运气 我接下来要做什么才能让最基本的...
我正在监视一个JS方法.我想根据方法的实际参数返回不同的东西.我试过callFake并尝试使用参数[0]访问参数,但它说参数[0]未定义.这是代码 – spyOn(testService, 'testParam').and.callFake(function() {var rValue = {};if(arguments[0].indexOf("foo") !== -1){return rValue;}else{return {1};}}) 这里建议 – Any way to modify Jasmine spies based on arguments? 但它对我不起作用.
如何为Rectangular编写茉莉花测试,如下所示 脚本$scope.allEmployees = [{visible: true,empId: "EMP148"}];$scope.employeeDocuments = { "EMP148": [{"empId": "EMP148","department": "Sales","firstName": "Manu","lastName": "Mathew","place": "Kolkata"}]};var employeesCopy = angular.copy($scope.allEmployees); $scope.allEmployees.push({visible: true, empId: "EMP489"}); $scope.addEmployees = function (employ...
我正在使用Grunt与Phantom一起运行Jasmine单元测试.Grunfile.js module.exports = function (grunt) {"use strict";grunt.loadNpmTasks('grunt-browserify');grunt.loadNpmTasks('grunt-karma');grunt.initConfig({pkg: grunt.file.readJSON('package.json'),browserify: {dev: {files: {'test-output.js':['src/methods.js']},options: {browserifyOptions: {debug: true}}}},karma:{unit:{configFile:"karma.conf.js"}}}); };使用...
我在JSFiddle上创建了a simple example来测试我在项目中遇到的问题:describe('testing es6 and jasmine', function() {describe('let', () => {// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/letit('is es6 works', function() {class Test {constructor() {var x = this.sum(1, 1);}sum(a, b) {return a + b;}}var test = new Test();spyOn(test, 'sum').and.callThrough();expect(test.sum...
我正在尝试编写一个测试,以确保我正在执行的无效实例化会产生异常.测试如下:describe('Dialog Spec', function () { "use strict";it("should throw an exception if called without a container element", function () {expect(function() {new Dialog({});}).toThrow(new Exception("InvalidArgumentException", "Expected container element missing"));}); });Dialog()类:function Dialog(args) {if (undefined === args.con...