草庐IT

Test_stub

全部标签

javascript - 如何使用 Sinon.js stub 事件发射器

我正在尝试对以下内容进行stub:on('complete',function(data){});我只想在第一个参数为“complete”时调用回调。我正在测试的功能还包含:on('error',function(data){});所以我不能只做yieldcause来触发完成回调和错误回调。如果我不使用sinon,我会通过编写以下内容来伪造它。varon=function(event,callback){if(event==='complete'){callback('foobar');};}; 最佳答案 您可以通过将yield与w

javascript - 单元错误 : assertion outside test context

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

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 - 任何不使用 $(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 - 如何 Stub webpack 的 require.ensure?

我使用webpack的代码拆分功能(require.ensure)以减少我的React的初始包大小通过从异步加载的单独包中加载在页面加载时不可见的组件来应用程序。这很完美,但是我在为它编写单元测试时遇到了问题。我的测试设置基于Mocha,Chai和Sinon.这是我迄今为止尝试过的代码的相关摘录:describe('WhenIrenderthecomponent',()=>{letcomponent,mySandbox;beforeEach(()=>{mySandbox=sandbox.create();mySandbox.stub(require,'ensure');componen

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

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

javascript - 为什么连续调用 `pattern.test(name)` 结果相反

这个问题在这里已经有了答案:WhydoesaRegExpwithglobalflaggivewrongresults?(7个答案)关闭7年前。为什么这段代码先返回true,然后返回falsevarpattern=newRegExp("mstea",'gi'),name="AmandaOlmstead";console.log('1',pattern.test(name));console.log('1',pattern.test(name));演示:Fiddle

javascript - 可以在单个测试中对方法进行两次 stub 以返回不同的结果吗?

我想重新stubsomeHandler.getStatus,但我收到TypeError:AttemptedtowrapgetStatuswhichalreadywrapped..it('isatest',function(){sandbox.stub(someHandler,'getStatus',function(callback){callback(null,{value:1});});sandbox.stub(someOtherHandler,'doSomething',function(callback){callback(null);});sandbox.stub(someH

Javascript 正则表达式.test() "Uncaught TypeError: undefined is not a function"

只是尝试通过.test()函数使用javascript的正则表达式功能。varnameRegex='/^[a-zA-Z0-9_]{6,20}$/';if(nameRegex.test($('#username').val())){...}错误在这一行if(nameRegex.test($('#username').val())){调试器在那里中断并说“UncaughtTypeError:undefinedisnotafunction”。好像.test()没有定义?不应该吗? 最佳答案 就目前而言,nameRegex不是正则表达式而是