草庐IT

ruby - 在 RSpec instance_double 上 stub 一个 setter

在RSpec单元测试中,我有一个像这样定义的模拟:let(:point){instance_double("Point",:to_coords=>[3,2])}在Point类中,我还有一个setter,用于被测类(称为Robot)。我想stub那个setter来测试Robot#move。这是我到目前为止的错误代码:describe"#move"doit"sets@xand@yonestepforwardinthedirectiontherobotisfacing"dopoint.stub(:coords=).and_return([4,2])robot.moveexpect(robot

ruby - 当一个对象的构造函数构建另一个对象时 stub

所以我有一些代码,粗略地简化后,看起来像这样:classBdefinitializeopts@opts=optsendendclassAdefinitializeopts#defaultsetcappliedtoopts@b=B.newoptsendend换句话说,当我用选项初始化A时,它会创建一个B并将一组修改后的选项传递给它。我想测试B.new是否获得正确的参数。现在,我正在这样做,使用RSpec/RR:@b=Object.new#stubmethodson@bherestub(B).new{|options|options[:foo].should=='whatever'@b}A

php - Phar 存档和 stub 文件的使用

我尝试根据命令定义部署过程:php.phar此命令在phar存档外部生成一个index.php文件。index.php文件将充当phar存档内N-file.php的“瘦”调度程序。生成的index.php文件示例:.phar";/***Forexampleindex.phpcancheck$_GETarrayanddispatch*tofileinsidePhararchive.**/if(array_key_exists("getParameter",$_GET))$requiredFile=$requiredFile."/".$_GET['getParameter'].".php"

c++ - 如何 stub /模拟 Qt 类?

我是测试和TDD的新手,但决定试一试并学习。目前我正在尝试开发一个类SettingsManager来处理我的应用程序的设置。它将存储应用程序的状态,当它关闭时,SettingsManager将使用QSettings保存状态(并在启动时读取)。现在我想模拟QSettings,这样我的测试就不会依赖于随机状态。但是,我找不到任何合理的模拟/stub方法,因为我需要的方法(QSettings::value())不是虚拟的。也许我在概念上做错了什么?或者有没有办法模拟那个非虚拟方法调用?例子:假设我有这个类:classSettingsManager{private:/*appstatevari

ios - 如何在 iOS 测试中实际使用 Stub 或 Mocking 对象?

我的问题分为两部分。首先,我对iOS中的测试有非常基本的了解,我正在尝试学习使用模拟。据我所知,当难以访问该对象(例如查询数据库或不可预测的情况)时,模拟对象是对假对象的模拟。你能解释一个简单的例子如何模拟数据库的行为吗?在我的情况下,我想测试从FacebookAPI的API调用接收到的JSON数据包。我想确保这些数据包不为空并且存在特定节点。对此进行测试的最佳方法是什么? 最佳答案 stub是一种伪造物,在调用时提供固定响应。模拟是一种记录其调用方式的伪造品。这就是为什么模拟对象框架(例如OCMock或OCMockito)基本上可

iphone - 为 iOS 创建 stub 服务器(模拟 NSUrlConnection)

为iOS应用模拟服务器响应(JSON)的最佳做法是什么?情况是,一个开发人员(不是我)正在制作后端,我想创建一个“模拟服务器”,这样我就可以开始使用伪数据进行用户测试,也可以进行单元测试。是否有任何框架可以“拦截”nsurlconnection,以便在我实际上不想连接到服务器时可以注入(inject)自己的json响应?目前我正在我所有的服务器请求方法中打开一个标志,它有点丑陋。 最佳答案 对于服务器通信,我使用自己的“服务请求”类抽象出NSURLConnection。这将我的代码与特定于服务器的逻辑和错误处理分离,但也很好,因为模

ios - 如何使用 OCMockito stub 类方法?

OCMockitodocumentationclaimsit'spossibletomockclassobjects,但如果我能弄清楚怎么做,我该死。以下测试因Expected"Purple"butwas""失败:-(void)testClassMethodMocking{ClassstringClassMock=mockClass([NSStringclass]);[given([stringClassMockstring])willReturn:@"Purple"];assertThat([NSStringstring],equalTo(@"Purple"));}如果回答上面链接的

ios - 无法 stub 方法 "title",因为模拟类 OCMock 中不存在此类方法

我正在编写这个单元测试:-(void)testCellValues{idbookMock=[OCMockObjectmockForClass:[LBBookclass]];[[[bookMockstub]andReturn:@"BookTitle"]title];}当然后面还有一些代码。但是此时我在执行测试时遇到了这个错误:[LBReviewsDashboardDataSourceTesttestCellValues]failed:OCMockObject[LBBook]:cannotstuborexpectmethod'title'becausenosuchmethodexistsi

ios - OCMock 无法 stub 类别方法

我正在尝试使用NSMutableURLConnection的模拟,但OCMock不想stub在NSMutableURLConnectionNSHTTPURLRequest类别中声明的方法.idrequestMock=OCMClassMock([NSMutableURLRequestclass]);OCMStub([requestMocksetHTTPBody]);编译器不会接受第二行。我收到“ARC语义问题:选择器‘setHTTPBody’没有已知的实例方法。”编译器允许我stubHTTPBody(与setHTTPBody相对)但它永远不会被调用。在这种情况下,有人知道如何得到一个工作

java - 如何解决不必要的 stub 异常

我的代码如下,@RunWith(MockitoJUnitRunner.class)publicclassMyClass{privatestaticfinalStringcode="Test";@MockprivateMyClassDAOdao;@InjectMocksprivateMyClassServiceService=newMyClassServiceImpl();@TestpublicvoidtestDoSearch()throwsException{finalStringMETHOD_NAME=logger.getName().concat(".testDoSearchEcR