Tag: 茉莉花

如何存根茉莉花模拟对象的方法?

根据茉莉花文档,模拟可以像这样创build: jasmine.createSpyObj(someObject, ['method1', 'method2', … ]); 你如何保留这些方法之一? 例如,如果你想testing一个方法抛出一个exception时会发生什么,你将如何做?

用Jasmine的toHaveBeenCalledWith方法使用对象types

我刚开始使用茉莉花,所以请原谅新手问题,但有可能使用toHaveBeenCalledWithtesting对象types? expect(object.method).toHaveBeenCalledWith(instanceof String); 我知道我可以这样做,但它是检查返回值而不是参数。 expect(k instanceof namespace.Klass).toBeTruthy();

在JavaScript中嘲笑window.location.href

我有一个函数,使用window.location.href的一些unit testing – 不理想我宁愿已经通过了这个,但在实施中不可能。 我只是想知道是否有可能嘲笑这个值,而实际上没有导致我的testing运行器页面实际上去的URL。 window.location.href = "http://www.website.com?varName=foo"; expect(actions.paramToVar(test_Data)).toEqual("bar"); 我正在使用我的unit testing框架的茉莉花。

量angular器:如何在点击一个button后等待页面完成?

在testing规范中,我需要点击网页上的一个button,然后等待新的页面完全加载。 emailEl.sendKeys('jack'); passwordEl.sendKeys('123pwd'); btnLoginEl.click(); // …Here need to wait for page complete… How? ptor.waitForAngular(); expect(ptor.getCurrentUrl()).toEqual(url + 'abc#/efg');

如何testingAngularJS自定义提供程序

有没有人有如何unit testing提供者的例子? 例如: config.js angular.module('app.config', []) .provider('config', function () { var config = { mode: 'distributed', api: 'path/to/api' }; this.mode = function (type) { if (type) { config.isDistributedInstance = type === config.mode; config.isLocalInstance = !config.isDistributedInstance; config.mode = type; return this; } else { return config.mode; } }; this.$get = function () { return config; }; […]

在茉莉花间谍jQueryselect器

我正在使用Jasmine对一些JavaScript进行unit testing,并希望窥探(模拟)jQueryselect器访问的DOM元素。 我的规格是: it("should be able to mock DOM call", function() { spyOn($("#Something"), 'val').andReturn("bar"); result = $("#Something").val(); expect(result).toEqual("bar"); }); 在我的specrunner.html中我有: <input type="hidden" id="Something" value="foo" /> 不幸的是,规范失败: 应该能够模拟DOM调用期望的'foo'等于'bar'。

如何更改jasmine-nodeasynchronous规范的超时时间

我怎样才能得到这个testing通过无需诉诸运行/ waitsFor块? it("cannot change timeout", function(done) { request("http://localhost:3000/hello", function(error, response, body){ expect(body).toEqual("hello world"); done(); }); });

toBe(true)vs toBeTruthy()vs toBeTrue()

expect(something).toBe(true) , expect(something).toBeTruthy()和expect(something).toBeTrue()什么expect(something).toBeTrue() ? 请注意, toBeTrue()是一个自定义匹配器,在jasmine-matchers toBeTrue() 器中引入了其他有用的方便的匹配器,如toHaveMethod()或toBeArrayOfStrings() 。 这个问题是泛泛而谈的,但是,作为一个真实世界的例子,我正在testing一个元素是在protractor显示的。 我应该在这种情况下使用哪个匹配器? expect(elm.isDisplayed()).toBe(true); expect(elm.isDisplayed()).toBeTruthy(); expect(elm.isDisplayed()).toBeTrue();

我们如何在Jasmine中以编程方式清除间谍?

我们如何以编程方式清除茉莉花testing套件中的间谍? 谢谢。 beforeEach(function() { spyOn($, "ajax").andCallFake(function(params){ }) }) it("should do something", function() { //I want to override the spy on ajax here and do it a little differently })

Sinon JS“试图包装已经包装好的Ajax”

当我运行我的testing时,我得到了上述错误信息。 下面是我的代码(我使用Backbone JS和Jasmine进行testing)。 有谁知道为什么发生这种情况? $(function() { describe("Category", function() { beforeEach(function() { category = new Category; sinon.spy(jQuery, "ajax"); } it("should fetch notes", function() { category.set({code: 123}); category.fetchNotes(); expect(category.trigger).toHaveBeenCalled(); } }) }