草庐IT

rspec-mocks

全部标签

java - Seam 和 Mock 有什么区别?

自从我使用java遗留代码以来已经有几个月了,这是我正在处理的一些事情:0%的测试覆盖率。有时我什至看到一些功能超过300行的巨大功能。很多私有(private)方法,有时是静态方法。高度紧密耦合的代码。一开始我很迷茫,发现遗留的TDD很难用。在练习了几周的katas并练习了我的单元测试和模拟技巧之后,我的恐惧感减少了,我感到更加自信了。最近我发现了一本书叫:workingeffectivellywithlegacy,我没有读它,我只是看了一下目录,我发现了一些对我来说是新的东西,TheSeams。显然,这在处理遗留问题时非常重要。我认为这个Seams可以帮助我打破依赖关系并使我的代码

java - java Mock 文件的建议(模拟 java.io.File)

有人对java模拟文件对象有建议吗?我正在使用需要获取java.io.File对象作为参数的第三方类。我通过网络服务(也是他们的产品之一)以流的形式接收此文件的数据。一种解决方案是将所有这些数据写入一个文件并将其提供给类(class)。这是我不喜欢的解决方案:它剥夺了使用网络服务而不是仅仅下载文件的优势。更快更有效的方法是将这些数据从内存中放入模拟文件中,并将该模拟文件提供给第三方类。它可能必须是一个MockFile扩展java.io.File并覆盖所有与硬盘上的文件进行实际接口(interface)的函数。我知道第三方应该使用流作为输入参数而不是文件。但是,这超出了我的影响范围。

Rails Factory RSPEC测试失败,因为模型中的“唯一_integer”验证

我有一个用于模型“价格”的工厂,但是当我将价格验证为唯一的_integer时,所有RSPEC测试都开始失败。当我尝试使用RSPEC验证工厂时,我遇到的错误是“价格必须是整数”这是我的模型文件:classPricetrue,:numericality=>{only_integer:true}end这是我的价格:FactoryGirl.definedofactory:pricedoassociation:expertise,factory::expertise,strategy::createprice10#priceFaker::Number.between(1,1000).to_iendend

ruby-on-rails - 如何通过 rspec/capybara 浏览我的网站

我正在学习搜索引擎优化,想在我的Rails网站上进行一些基本的SEO测试。这将涉及检查独特的标题、图像上的替代文本等。在执行此操作之前,我需要能够浏览我的网站。我可以通过定义所有可访问路线来手动执行此操作,但我想知道是否有一种方法可以通过rspec和capybara自动执行此操作?也许我可以使用路由文件或某种站点地图gem?有什么建议吗?谢谢 最佳答案 这是一个使用rspec的View测试示例:scenario'autocompletescontactname',js:truedovisitnew_communication_pat

添加recaptcha后的RSPEC测试用例失败

我添加了一个宝石recaptcha,并在我的注册和登录页面上实现了它。但是我的测试用例很少有失败。测试案例之一是:require'rails_helper'feature'Usersessions',js:truedolet(:organisation){FactoryGirl.create(:organisation,email_domain:'example.com')}let!(:user){FactoryGirl.create(:user,email:'[email protected]',password:'password',organisation:organisation)}s

c++ - QTestLib单元测试框架+Gmock(创建QTCPServer-Mock对象)

我正在使用Qt的QTestLib单元测试框架+GMOck。我正在尝试使用gMock设置模拟服务器,以便在单元测试中简单地从QTcpSocket接收数据到VerifySendData()方法。如果有人给我一个例子,我可以如何创建模拟对象gMOCK(EXPECTCALL,创建模拟对象)#ifndefTST_TCPCOMMTEST_H#defineTST_TCPCOMMTEST_H#include#include#include#includeclassTcpCommTest:publicQObject{Q_OBJECTprivate:QTcpSocket*pTestSocket;QTcpS

如何用RSPEC验证在导轨中存在阵列?

我的规格正常工作验证登录,在该验证中,我可以访问some_array但是在验证中some_array它失败了,因为我无法访问它。我需要做一些特殊的事情来测试阵列吗?模型validates_presence_of:login,:some_arrayRSPECit{shouldvalidate_presence_of(:login)}it{shouldvalidate_presence_of(:some_array)}看答案没有太多信息,所以...您需要想的是,该阵列首先是如何设置的?其中每一个都{}阻止了一个全新的WhateverModel被建造。是Whatever.some_array填充创作

c++ - 使用对象的 Google Mock 和 SetArgPointee

我最近在使用GMock,但无法在以下代码中成功使用SetArgPointee。classrox{public:inta,b;rox(){}rox(constrox&ana){a=ana.a;b=ana.b;}roxoperator=(constrox&ana){a=ana.a;b=ana.b;return*this;}};TEST(Statistics,RandomReceived){MockClassms;roxana1,ana2;EXPECT_CALL(ms,Read(_)).Times(1).WillOnce(DoAll(SetArgPointee(ana1),Return(1)

c++ - Google Mock中如何访问私有(private)成员

我正在尝试为一个带有私有(private)vector的类编写模拟,它将数据插入到私有(private)vector中。但是,我没有看到使用GoogleMock来做到这一点的方法。理想情况下,我不希望在我的界面中有任何与测试相关的内容。此外,我不想让私有(private)vectorprotected并子类化该类并添加访问器方法,因为这会导致我的代码泄漏其实现。这是我目前所拥有的。我想要完成的是用Fake类插入数据,并使用Mock类在指向Fake类的指针上调用Real::first()(这样我就可以使用Fake的vector而不是Real的vector)。编译此程序时,返回-1而不是4

@mock课中的模拟字段

由于我是Mockito的新手@Mock.例子:@RunWith(MockitoJUnitRunner.class)publicclasssomeServiceTest{@InjectMocksprivateMainServicemainService;@MockprivateHelpServicehelpService;@MockprivateSecondHelpServicesecondHelpService;现在有这个helpService类,其中包含一种用于测试的方法MainService.@Service@Transactional(propagation=Propagation.SU