我需要做类似的事情:expect(theElement.hasText()).toBe(true);你知道我怎么办吗? 我知道量角器中有一个“getText”函数,但是,我怎么能用呢?我该怎么办?:expect(theElement.getText().lenght > 0).toBe(true);谢谢!解决方法:我发现jasmine-matchers库对其他有用的匹配器非常有帮助. toBeNonEmptyString()在这里非常合适(也注意它的可读性):expect(theElement.getText()).toBeNonEmptyString();仅供参考,这是underlying impl...
我在config中使用了以下代码var jasmineReporters = require('jasmine-reporters'); onPrepare: function() {browser.driver.manage().window().maximize();browser.params.envi='DEVINT';//For output reportsjasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter('./test', true, true));},当我运行测试时它运行成功,但我没有看到任何报告生成. 有什么建议?解决方法:不确定它会有所帮助,但这里有什么对我有...
我是否需要一个插件/ lib来使用run()并使用Jasmine等待()?我正在查看Jasmine wiki页面的异步测试:https://github.com/pivotal/jasmine/wiki/Asynchronous-specs. 他们没有提到需要特殊的lib /插件,所以我假设runs()和wait()应该开箱即用. 我的代码看起来像这样(它包含在描述中):it('test', function() {runs(function() {}); });我得到:ReferenceError:未定义运行 我的业力配置的相关部分是:files: ['bower_components/jquer...
我有一个控制器,它暴露了一个在休息调用后返回一些文本的函数.它工作正常,但我无法使用Jasmine进行测试.测试中的promise处理程序内的代码永远不会执行. 控制器:/* global Q */ 'use strict'; angular.module('myModule', ['some.service']).controller('MyCtrl', ['$scope', 'SomeSvc', function ($scope, SomeSvc) {$scope.getTheData = function (id) {var deferred = Q.defer();var processedResult = '';SomeSvc.getData(id)....
JSvar link = this.notificationDiv.getElementsByTagName('a')[0];link.addEventListener('click', function (evt){evt.preventDefault();visitDestination(next);}, false); }var visitDestination = function(next){window.open(next) }规格var next = "http://www.example.com"it( 'should test window open event', function() {var spyEvent = spyOnEvent('#link', 'click' ).andCallFake(visitDestination(next));;$('#link...
我正在使用“jasmine”:“^ 2.5.2”并且在节点中,我收到错误:TypeError: jasmine.addMatchers is not a function当使用jasmine-node specfrom终端运行一个简单的例子如下所示. 什么可能导致这个问题以及如何解决它?function helloWorld() {return "Hello world!";}describe('keyframes-tool', function () {it("says hello", function() {expect(helloWorld()).toEqual("Hello world!");});}); 解决方法:这个错误可能是由一个不...
我在Jasmine中进行了一些功能测试,由于DOM中的某些内容没有完成编写,因此会定期失败.我希望能够让这些测试重试几次,而不是让测试套件失败. 我正在寻找类似于Mocha与https://mochajs.org/#retry-tests一样的方式,或者更好的是,指定等待然后重试的能力.解决方法:Per Jasmine的所有者:this is functionality we’d like to keep out of jasmine itself.来源:https://github.com/jasmine/jasmine/issues/960 假设您正在使用量角器,建...
我想在我的React网站上用Karma运行Jasmine测试.我之前的测试工作正常,我不确定发生了什么变化,但现在我收到了错误: 未捕获的ReferenceError:未定义require Chrome和PhantomJS和Firefox给我类似的错误.如果有更多信息可以提供帮助,请与我们联系.我在网上发现了很多类似的问题,但没有解决问题的方法. 您可以在下面看到测试文件,整个项目在my github repo上. 提前致谢! 我的测试文件如下所示:var React = require('react/addons')...
码var cartModule = (function() {var cart = [];var cart_proxy = new Proxy(cart, {set: function(target, property, value) {... target[property] = valuereturn true}}return {toggleItem: function() {if (value) {cart_proxy.push(new Item(item_name)); }}getItems: function() {return cart.map( object => object.name ); }} })规格describe("when toggleitem is called", function() {beforeEach(function() {cartModul...
如果在我的测试中在’it’或’beforeEach’块之外使用了一个实用程序,我需要抛出异常.示例 – describe('some test', function(){useUtil(); // should throw exceptionbeforeEach(function(){useUtil() // should work})it('should test something', function(){useUtil() // should work}) })util创建了间谍,我想确保它们的创建方式允许Jasmine在每个套件之后清理它们.解决方法:您可以创建一个名为isSpecPhase的全局可访...
我需要在里面用$element测试一个指令控制器.所以我有一个像这样的功能:function func($event) {$element.find('#la-la-la').focus(); }并在测试中呈现它:template = $compile(element)($scope); $scope.$apply();controller = element.controller('myDirective');而我正在尝试做的是在该控制器内为该指令测试此函数.describe('func method', function testFunc() {it('should focus on element', function checkFocusing() {cont...
如何测试某个JQuery选择器是否已使用Jasmine执行?我正在尝试执行以下操作:spyOn($.fn, 'init').andCallThrough(); // my code expect($.init).toHaveBeenCalled();但是在这次调用之后,$(‘div’)返回Object {selector =“div”,context = document,NaN = div.spec,more …},尽管它必须返回(和$.fn.init(‘ div’)确实返回它):[div.jasmine_reporter,div.banner,div.logo,还有4个……].由于JQuery对象不再可用,因此这些东西自然...
我正在尝试使用jasmine和amp;来测试一些JavaScript.茉莉的jQuery 所以我在功能上有这个JavascripttrackTransition = ()->$("#test").on "transitionend MSTransitionEnd webkitTransitionEnd oTransitionEnd", ()-> console.log "trans End"我在spec.css中应用了一些styes,它们添加了一个css转换并在一个fixture中添加了一些html,然后在茉莉花规格中添加了如下:describe "Checks when animation finished", ->beforeEach ->@trans...
如此stackoverflow answer所示,看起来Karma将为JSON设备提供服务.但是,我花了太多时间试图让它在我的环境中工作.原因:我正在进行角度测试,需要将模拟HTTP结果加载到测试中,因为Jasmine不支持使用模拟服务器和东西进行任何全局设置/拆卸. 在我的业力配置文件中,我正在定义一个夹具:files: [// angular 'angular/angular.min.js','angular/angular-route.js','angular/mock/angular-mocks.js',// jasmine jquery helper'jquery-1.1...
我试图使用jasmine-ajax library模拟ajax请求与grunt-contrib-jasmine,但似乎茉莉花无法找到该库(它说jasmine.Ajax没有定义). 我的咕噜文件:jasmine: {test:{src :[ '<%= watch.files %>'],options: {vendor: 'vendor/mock-ajax.js',specs : ['specs/**/*spec.js'],helpers : 'specs/helpers/*.js',timeout : 10000}}我下载了mock-ajax.js并将其放在供应商文件夹中.这是出现错误的测试部分:beforeEach(function() {jasmine.Ajax....