草庐IT

mock_accessor_c

全部标签

ruby - 为什么要使用 Ruby 的 attr_accessor、attr_reader 和 attr_writer?

Ruby有这种方便快捷的方式来共享实例变量,通过使用像这样的键attr_accessor:varattr_reader:varattr_writer:var如果我可以简单地使用attr_accessor,为什么我会选择attr_reader或attr_writer?是否有类似性能的东西(我怀疑)?我想这是有原因的,否则他们不会制作这样的key。 最佳答案 您可以使用不同的访问器将您的意图传达给阅读您代码的人,并使编写无论其公共(public)API如何调用都能正常工作的类变得更加容易。classPersonattr_accessor

ruby - Ruby 中的 attr_accessor 是什么?

我很难理解Ruby中的attr_accessor。谁能给我解释一下? 最佳答案 假设您有一个类Person。classPersonendperson=Person.newperson.name#=>nomethoderror显然我们从未定义方法name。让我们这样做吧。classPersondefname@name#simplyreturninganinstancevariable@nameendendperson=Person.newperson.name#=>nilperson.name="Dennis"#=>nomethode

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 - typescript : Unexpected token; 'constructor, function, accessor or variable'

我用类型脚本编写了以下类。当我编译它时,它会出错说"src\main\MqttClientWrapper.ts(24,2):错误TS1068:意外的token。一个构造或者,需要方法、访问器或属性。”。下面是我的代码。varmqtt:any=require('mqtt');exportinterfaceIWillMessage{topic:string;payload:string;qos:number;retain:string;}exportinterfaceIMessageReceivedCallBack{onMessageReceived(message:string);}ex

javascript - 如何将 Jest 中的 '__mocks__' 文件夹移动到/test?

我已经开始在Jest中使用mocks来测试我的NodeJS应用程序并且它们工作得很好,但是将__mocks__文件夹移动到/test文件夹会更有意义所以与测试相关的所有内容都在那里,而不是在/src中混合文件。这在某种程度上是可能的吗?我在Jest文档中的任何地方都找不到它。 最佳答案 jest.mock('../src/service',()=>require('./__mocks__/request'));这对我有用 关于javascript-如何将Jest中的'__mocks__'

javascript - SpyOn 一个 mock 的 Jest 模块没有正确监视

我有一个简单的服务,我需要使用jest进行单元测试:代码的关键是:domtoimage.toBlob(node,{filter:filter}).then(function(blob){FileSaver.saveAs(blob,fileName);});我已经这样编写了我的单元测试模块:importFileSaverfrom"file-saver";importdomtoimagefrom"dom-to-image";jest.mock('dom-to-image',()=>{return{toBlob:(arg)=>{letpromise=newPromise((resolve,r

javascript - 使用 jest.mock 传递超出范围的变量

我有一个模拟对象,我用它来模拟react-native:constMyMock={MockA:{methodA:jest.genMockFn()},MockB:{ObjectB:{methodA:jest.genMockFn(),methodB:jest.genMockFn(),}}};jest.mock('react-native',()=>{returnMyMock;});我在jest.mock之外声明对象,因为我稍后在测试中也需要它:describe('MyClass',()=>{beforeEach(()=>{MyMock.MockB.ObjectB.methodA.mockC

javascript - mock 方法调用回调函数 sinon

如何使用sinon模拟调用回调的外部方法?给定以下代码的示例,getText应在回调函数中返回'astring'作为响应sinon.stub(a,'getText').returns('astring')letcb=function(err,response){console.log(response)}a.getText('abc',cb)它应该产生输出'astring'因为它调用回调函数cb但是没有输出 最佳答案 sinon.stub(a,'getText').yields(null,'astring');yields()将使用