草庐IT

init_unit_test_suite

全部标签

javascript - 单元错误 : assertion outside test context

我已经搜索过了,看来这个错误是由于没有正确使用asyncTest造成的。但是,根据文档,我似乎做对了。我猜我在某处遗漏了一个小细节,需要一双额外的眼睛……我正在尝试测试一些代码,这些代码发出ajax请求以获取页面,然后将其加载到灯箱中。lightbox-content在ajax调用完成并可以显示之前不会显示在DOM中。因此,我只能在我的onComplete回调中检查它,这是我进行测试以查看它是否正确加载的地方。这是我的代码:asyncTest('mytest',1,function(){utils.lightbox.show('/login',{onComplete:function(

javascript - Angular Testing : Spy a function that was executed on the initialize of a controller

我一直在尝试监视在Controller初始化时执行的函数,但测试总是失败。我一直在尝试执行$scope.$digest()但它不起作用,但是在控制台中,我看到该函数已被调用。我想不通,有人可以向我解释为什么它不起作用吗?代码笔示例:http://codepen.io/gpincheiraa/pen/KzZNbyControllerfunctionController($stateParams,$scope){$scope.requestAuthorization=requestAuthorization;if($stateParams.requestAuthorization===tr

javascript - 如果包裹在自执行的匿名函数中,JavaScript 可以是 "unit testable"

正如我多次看到的那样,一个自执行的匿名函数用于包含整个库。如何测试这些库,例如QUnit无法访问匿名函数包装器内的任何内容? 最佳答案 我同意你不想执行BackdoorManipulation通过寻找偷偷摸摸的方法来离散地测试私有(private)方法。但是,正如您所指出的,无数的Web应用程序被编写成一个巨大的自执行泥球,缺乏任何命名或公共(public)API。这是一个完全不同的问题,在许多其他技术堆栈中不太可能遇到。TDD为网络编写JavaScript的巨大值(value)之一是它迫使您编写至少可供两方使用的JavaScrip

javascript - 为什么/^(.+)+Q$/.test ("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") 需要这么长时间?

当我运行时/^(.+)+Q$/.test("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")在Chrome或IE中,大约需要10秒才能完成。(Firefox几乎可以立即对其进行评估。)为什么要这么久?(Firefox为何/如何能够如此快速地做到这一点?)(当然,我从来没有运行过这个特定的正则表达式,但我在http://daringfireball.net/2010/07/improved_regex_for_matching_urls的URL正则表达式中遇到了类似的问题,它似乎归结为这个,即有某些URL会导致浏览器锁定)例如:varre=/\b((?:https?:\/

javascript - mocha-phantomjs 的 mocha init 超时

我有以下testrunner.html:Specsfunctionassert(expr,msg){if(!expr)thrownewError(msg||'failed');}_runner.js如下所示://ConfigureRequireJSrequire.config({baseUrl:'/client',urlArgs:"v="+(newDate()).getTime()});//Requirelibrariesrequire(['require','lib/chai','lib/mocha'],function(require,chai){//Chaiassert=chai

javascript - react 测试 : Event handlers in React Shallow Rendering unit tests

背景我正在尝试学习如何使用ReactShallowRenderingTestUtil并让测试通过,直到我向两者添加了一个onClick事件处理程序;看来我在Accordion.test.js和this.toggle中尝试使用的Accordion.toggle函数肯定有一些区别在Accordian.js中......但我想不通。问题如何让Accordian.test.js中的两个突出显示的测试通过?重现步骤克隆https://github.com/trevordmiller/shallow-rendering-testing-playgroundnpm安装npmrundev-当您点击“L

javascript - 任何不使用 $(test).stuff(); 的理由与测试.stuff();鉴于该测试 = $ ('something' );?

Google没有帮我解决这个问题。是否有任何理由不执行以下操作:vartest=$('something');$(test).stuff();而不是这样做:vartest=$('something');test.stuff();基本上,我发现代码采用jQuery选择器格式时更易于阅读,即使它不需要如此。这两种方法看起来效果一样。谢谢! 最佳答案 第一个可能会慢很多,这取决于对象的大小。如果你只使用它几次,它不会有太大的不同,但如果你经常使用它,也许你可以使用这个流行的命名方案:如果变量包含jQuery对象,请在变量名前加上$。正常命

javascript - ng :test no injector found for element argument to getTestability

关于SO的其他问题也有同样的问题,但解决方案对我没有用。这是我的spec.jsdescribe('ProtractorDemoApp',function(){it('shouldhaveatitle',function(){browser.driver.get('http://rent-front-static.s3-website-us-east-1.amazonaws.com/');expect(browser.getTitle()).toEqual('HowItWorks');});});这是我的conf.jsexports.config={framework:'jasmine'

JavaScript prototype.init 疯狂

谁能解释一下prototype.init函数在JavaScript中的意义以及它在对象实例化过程中何时被调用?为什么要用空函数覆盖它?我正在阅读JavaScriptforWeb这本书,并且在过去的几个小时里一直停留在这个问题上......一段代码应该实现什么?varClass=function(){varklass=function(){this.init.apply(this,arguments);};klass.prototype.init=function(){};//Shortcuttoaccessprototypeklass.fn=klass.prototype;//Shor

javascript - JavaScript test() 是否在正则表达式中保存状态?

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。打开浏览器控制台并执行以下代码:varfoo=/foo/g;然后,foo.test("foo")//true然后,foo.test("foo")//false如果您继续执行foo.test("foo"),您将看到交替出现的true/false响应,就好像varfoo实际上正在被修改一样。有人知道为什么会这样吗?