草庐IT

rspec-mocks

全部标签

ruby - 在 Sinatra 模块化应用程序中设置 RSpec

这是我第一次尝试使用Sinatra。我构建了一个简单的经典应用程序,为其设置了RSpec,并让它运行起来。然后,我尝试以MVC方式进行模块化。即使该应用程序在浏览器中运行,RSpec也会抛出一个NoMethodError。我已经阅读了关于RSpec的Sinatra文档,也在SO中搜索了很多,但我找不到错误在哪里。有什么线索吗?非常感谢您。这是我的相关文件:config.rurequire'sinatra/base'Dir.glob('./{app/controllers}/*.rb'){|file|requirefile}map('/'){runApplicationControlle

ruby - 由于符号而不是 Rails,哈希的 RSpec 测试失败

我没有使用Rails,只是使用Ruby和RSpec,并试图通过哈希对测试。正确的结果在IRB上通过了,但测试一直包含一个分号,这导致测试失败。这是RSpec测试:describeMenudolet(:menu){described_class.new}let(:book){double:book,name:'ClockwisetoTitan',price:6}it'canaddadishtothemenulist'domenu.add(book)expect(menu.list).toeq({'ClockwisetoTitan':6})endend这里是失败的地方:Failures:1

ruby-on-rails - rspec 显示错误信息

当我运行bundleexecrake时,Rspec显示以下错误消息。但测试运行良好。这是值得担心的事情还是可以忽略?/home/ubuntu/.rbenv/versions/2.2.3/bin/ruby-I/home/ubuntu/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.4.4/lib:/home/ubuntu/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-support-3.4.1/lib/home/ubuntu/.rbenv/versions/

ruby-on-rails - RSpec - 类型错误 - 没有将字符串隐式转换为整数

我正在尝试使测试变为绿色,但出现此错误。即使当我pry开代码时,它也显示正在返回一个字符串,所以我不知道为什么测试不会变绿。这是我的测试和错误以供澄清。我假设这是人们的常见错误。这是我的测试-require"rails_helper"RSpec.describe"/api/retailers"dodescribe"GET/api/retailers"doit"ReturnsJSONforretailers"dolocation=Location.create!(city:"Portland",street_1:"Cherry",state:"Oregon",zip:"49490")re

ruby-on-rails - 未定义的方法 `permit' 为 "1":String - RSPEC

我觉得有点可笑,但我真的不知道这个错误想告诉我什么?我是rspec的新手,这对我来说是新的。为了清楚起见,我将发布我的代码-错误:“1”的未定义方法“允许”:字符串|Controller:defsubscriber_paramsparams.require(:subscriber).permit(:first_name,:last_name,:email,:phone_number)end规范:需要“rails_helper”describeSubscribersControllerdoincludeDevise::TestHelperslet(:user){FactoryGirl.c

ruby-on-rails - 如何模拟 RSpec 中新 ActiveRecord 对象的创建调用?

我有一个ActiveRecord对象用户。在我正在制作的应用程序中,我在gem上使用单点登录,但我需要将一些用户数据保存在我们的数据库中。我的ApplicationController有这段代码:defcreate_userUser.create(name:current_user['name'],email:current_user['email'],company_id:current_user['id'])end我需要一个模拟实际create调用的RSpec测试。我试过了allow_any_instance_of(User).toreceive(:create).with(any

ruby-on-rails - 带有 RSPEC 错误的 Controller 测试未实现

我正在尝试使用RSPEC测试我的APIController。Controller中的操作有一个我想stub/模拟的服务。但是我得到了错误:Failure/Error:expect(Api::V1::PaymentsController).toreceive(:init_alias).and_return(svc)Api::V1::PaymentsControllerdoesnotimplement:init_alias这是我的测试:let(:alias_svc){instance_double(AliasService)}describe'POST/payment/card'doit'

ruby-on-rails - Rspec:如何正确地提出补丁请求

我一直在寻找可以解释我遇到的问题的东西。我可能遗漏了一些简单的东西,所以我希望有人能发现我的错误。Rails.application.routes.drawdoget'auth/:provider/callback',to:'sessions#create',as:'login'get'auth/failure',to:redirect('/')get'signout',to:'sessions#destroy',as:'signout'resources:sessions,only:[:create,:destroy]resources:home,only:[:show]resour

ruby - 如何使用 RSpec 多次调用主题

我在下面创建了RSpec测试。我尝试多次调用subject。但我得不到预期的结果。我调用了subject三次,不是吗?所以,我期待三本书的记录。subject不能调用一次吗?require'rails_helper'RSpec.describeBook,type::modeldocontext'somecontext'dosubject{Book.create}beforedosubjectendit'somethinghappen'dosubjectexpect{subject}.tochange{Book.count}.from(0).to(3)endendend

ruby - Rspec - 在另一个 let 语句中使用 let 语句中定义的变量

在我的RSpec测试中,我使用let()语法定义了多个方法。我遇到过这样一种情况,我需要将let语句中定义的变量用于同一个describeblock中的另一个let语句。context'Reusethenameoffirstcarinthesecondcar'doit_behaves_like'somecartest'dolet(:car1)do{name1:"#{testcase['Car']}_#{Time.now.round}",car_model:testcase['Toyota']}endlet(:car2)do{name2:name1}endendend如您所见,我想使用我