草庐IT

mock_func

全部标签

ruby 摩卡 : is there an equivalent to rspec-mocks' #and_call_original?

Rspec-mocks具有expect(some_object).toreceive(:some_method).and_call_original。我可以用Mocha做这个吗?如果可以,怎么做?some_object.expects(:some_method).......什么? 最佳答案 我相当确定没有办法做到这一点。浏览sourcecode,有评论提到完全替换了原来的方法。#Theoriginalimplementationofthemethodisreplacedduringthetestandthenrestoredatt

ruby - 如何使用 Rspec Mocks stub 给定类的任何实例

以下代码引发错误:undefinedmethod'any_instance'forString:Classrequire'rspec'RSpec.configuredo|config|config.mock_with:rspecenddescribeStringdoit'stubs'doString.any_instance.stub(:foo).and_return(1)''.foo.shouldeq(1)endend如何将Mocks模块包含到类或对象类中? 最佳答案 any_instance最近被添加到rspec,所以你的例子现

ruby-on-rails - 哪里用 `FactoryGirl.build_stubbed` 哪里用RSpec的 `mock`/`double`

我很好奇人们在编写RSpec规范时倾向于在哪里使用FactoryGirl.build_stubbed以及他们在哪里使用double。也就是说,是否有最佳实践,例如“仅在相应的模型规范中使用FactoryGirl方法?”当您发现自己在spec/models/bar_spec.rb中使用FactoryGirl.create(:foo)时,是否有代码味道?如果您在spec/models/bar_spec.rb中使用FactoryGirl.build_stubbed(:foo),代码味道会不会变小?如果您在foos_controller_spec.rb中使用FactoryGirl.create

ruby-on-rails - RSpec中mock和mock_model有什么区别

我最近看到了不同的教程,其中人们同时使用了mock和mock_model函数。在RSpectutorialforcontrollers他们使用mock_model函数,但就在documentationofRSpec中,只有mock函数,没有mock_model我尝试自己运行一些测试,但我没有发现任何真正的区别,因为当我使用这两个函数中的任何一个时一切正常,所以有什么区别吗? 最佳答案 正如jenger所说,mock_model是为事件记录构建的扩展:这是1.2.6中的来源:defmock_model(model_class,opti

ruby-on-rails - 在 RSpec 中,mock 和 double 之间有什么区别?

在rspec中,您可以创建一个mock或一个double。这两个似乎几乎是同一件事,我在文档中找不到任何可以消除它们歧义的内容。有什么区别? 最佳答案 mock和stub都是更通用的double的别名。与context和describe一样,它们可以互换使用,以使规范的意图更加清晰。这在TheRSpecBook中有更详细的描述。. 关于ruby-on-rails-在RSpec中,mock和double之间有什么区别?,我们在StackOverflow上找到一个类似的问题:

javascript - 如何使用嵌套函数(javascript、jasmine)为第 3 方库编写 mock

我是TDD的新手,我正在尝试编写使用第三方库(跨平台移动开发)的可测试代码。我想进行测试以仅检查我们的业务逻辑。不用担心它们的实现。此外,他们的库仅在native包装器中公开。由于使用js作为开发语言,我想使用jasmine进行测试并运行测试以仅在浏览器中检查我的业务逻辑。以下是我想在测试时忽略/模拟的方法模式。com.companyname.net.checkInternetAvailable(url)com.companyname.store.getValue(key)com.companyname.someother.name(whateverObj,callback)etc.,

javascript - 为什么我的 jest.mock 中的 Promise reject() 会转到 then() 而不是 catch()?

我有两个文件,getItemInfo.js进行API调用,getItemInfo.test.js是相应的Jest测试文件。在测试文件中,我正在模拟由Node模块request-promise触发的http调用。问题在第二个代码块上,被*********包围。基本上为什么reject()错误仍然会在第二个单元测试中进入then()block?//getItemInfo.jsconstrp=require('request-promise');constgetItemInfo=(id)=>{constroot='https://jsonplaceholder.typicode.com/po

javascript - 使用 angular-mocks 匹配所有 GET url for backendless

我现在正在编写一个没有后端ajax的前端。我正在使用angular-mocks来模拟这样的API调用:$httpBackend.when('GET','/somelink').respond(function(method,url,data){//dosomething});但是,如果ajax传递params:{id:12345},它将附加到url为'/somelink?id=12345'。catchwhen('GET','/somelink')有没有办法使用RegEx或一些技巧来解决这个问题?只是为了不管params里面有什么,respond()仍然会被调用?谢谢。更新1:我不能使用

javascript - Node.js Express - app.all ("*", func) 在访问根域时不会被调用

我正在尝试设置一个在每次页面加载时调用的全局函数,无论它在我的网站中的位置如何。根据Express的API,我使用了app.all("*",doSomething);在每次加载页面时调用函数doSomething,但它并不完全有效。该函数在每次页面加载时触发,除了基本域的页面加载(例如http://domain.com/pageA将调用该函数,但http://domain.com不会)。有谁知道我做错了什么?谢谢! 最佳答案 我打赌你放了app.get('/',fn)以上app.all("*",doSomething);请记住,Ex

javascript - 为什么在 Firefox 中 Function.prototype.func=... 不影响 console.log?

我已经使用Function.prototype.func=...添加了一个函数到Function但在Firefox中它没有被添加console.log:Function.prototype.func=function(){returnthis.toString();};alert(typeofconsole.log.func);//inFF:undefined,inChrome:function这是错误还是有任何原因? 最佳答案 在Firefox中很明显:varfoo=function(){}foo.__proto__==Funct