同时使用rspec1.3.x和rspec2

我记得过去RSpec1.x和RSpec2.x二进制文件之间的冲突。。。既然二进制文件已经从'spec'重命名为'rspec',它们现在能在同一台机器上共存而不互相碰撞吗 更新:奇怪的是,这两个版本在我的Mac上的rvm下工作得很好,但是spec二进制文件抱怨测试服务器上的版本。Dchelimsky在那里做了这个把戏。你总是可以在垃圾箱中用另一个名字来别名或链接一个符号,所以经过一段时间的长风之后,是的

如何将使用Resque的测试与Rspec示例联系起来?

在与Rspec示例并行实现Resque时,我感到困惑。 下面是一个使用昂贵方法的类。生成(self) 上课 ... ChangeGenerator.generate(自生成) ... 结束 在实现resque之后,上面的类更改为下面的类,并添加了ChangeRecorderJob类 class SomeClass ... Resque.enqueue(ChangeRecorderJob, self.id) ... end class ChangeRecorderJob @que

Rspec 工厂女孩:工厂没有注册

我从事的项目结构如下: projects/warehouse/core projects/warehouse/products/bottles projects/warehouse/products/boxes 在这个项目中,应用程序逻辑、gem等都在核心应用程序中。我为rspec设置了框,例如: projects/warehouse/products/boxes/spec /factories /models factories目录包含cubics.rb: FactoryG

如何在rspec中隔离和测试动态创建的类

如何使用rspec 3.9.0为每个测试正确地创建一个新的隔离类 下面是一个测试用例: 描述“动态类创建”操作 它“应该已经动态地创建了类‘One’”吗 一级;结束 期望(一)。成为(类)的实例 结束 它“不应该有类'One'并引发'uninitialized constant One'错误”这样做 期望{One}.引发\u错误(的\u实例\u(NameError)。并且具有\u属性(消息:“未初始化常量一”) 结束 结束 好吧,我真的想出了解决自己问题的办法。我将在此处发布解决方案,供其他需要

Rspec-before方法

如果一个spec文件在it()示例组之前包含此内容,这意味着什么 context "when almost full (with one element less than capacity)" do before(:each) do @stack = Stack.new (1..9).each { |n| @stack.push n } end end context "when full" do before(:each) do @stack = Sta

Rspec page.应具有\u内容-导致错误的特殊字符

我正在使用Capybara进行一个基本的Rspec测试,它打开一个网页并检查主页中是否包含字符串。测试需要检查网站上8个不同语言子域的教学,我在代码中的特殊字符方面遇到了一些问题 以下代码起作用: it "should have an American Home page", :js => true do visit '/' page.should have_content('Workforce Management from InVision') end it "should

Rspec Capybara webkit,javascript集成测试不工作

嗨,我在运行我的规范时遇到了问题,当我打开javascript进行测试时,我似乎无法登录 describe "logging in" do let!(:user) { FactoryGirl.create(:user) } before do visit new_user_session_path fill_in "Email", with: user.email fill_in "Password", with: user.password

Rspec 如何测试id为';foo';你有什么课吗?

对于我的rails 3.0应用程序,我让rspec+capybara填充字段,单击按钮,并测试“页面上的任何地方”是否存在文本块 但是我找不到任何关于如何将断言(has value、contains或has class)应用于我知道其ID的元素的解释 例如,我试图测试其id=row_1002(具有包含highlightrow(可能在其他类中)的表行 我还想测试id=row_1002的行是否在该行的任何位置包含文本“Foobar” 我尝试过的许多抛出错误的方法包括: find('tr', id:

rspec视图存根和部分

我正在用RSpec(Rails3.2.8上的2.12)测试一个视图。我使用CanCan在页面上有条件地显示某些元素。这需要控制器方法“当前用户”。在我的一些规范中,我已经能够删除当前的用户,例如。 controller.stub(:当前用户)和返回(etc) 或 视图、存根等 这适用于我的一些规格。但我有一对夫妇不工作,我不明白为什么 它不起作用的两个规范测试一个视图,该视图向下调用一个partial,并在partial中访问“current_user”作为一个方法。错误是 undefined

RSpec控制器规范:确保控制器实例变量不会在多个';获取';

如果我们必须在同一规范上下文中执行多个get,那么控制器规范中是否有任何方法可以在每次get之前“重置”实例变量空间 我理解每个测试指南的一个断言。然而,对于我们的一组测试,如果我们在每次get之前不在(:each)之前进行单独的(冗长的)设置,并且如果我们在单个上下文中一起运行一系列get/断言,那么它的运行速度大约快3倍 然而,似乎(与通过浏览器调用控制器方法不同)如果您使用rspec执行两个连续的get,那么每个get都不会清除实例变量,因此数据交叉是可能的 下面是一个失败的测试,表明在运

Rspec 在ChefSpec运行期间模拟文件

我创建了一个Chef资源,它“扩展”了Chef的部署资源。基本思想是检查在要部署的源代码中是否存在类似于机制deploy/after_restart.rb的文件deploy/crontab,并从中创建cronjobs 虽然这个机制按它应该的方式工作(请参阅),但我正在为它进行基于ChefSpec的测试。我目前正在尝试使用FakeFS创建模拟-但是当我在Chef运行之前模拟文件系统时,运行失败,因为找不到任何烹饪书,因为它们不存在于模拟的文件系统中。如果我没有找到,那么很明显找不到模拟文件depl

如何通过编程获得rspec输出错误回溯

我有一个ruby脚本,需要执行rspec测试并收集结果。 我正在使用标准rspec API来实现这一点: require 'rspec' require 'rspec/core' require 'rspec/core/formatters/json_formatter' require 'json' def run_test(test_location) config = RSpec.configuration json_formatter = RSpec::Core::Formatte

如何从rspec示例中获取当前(saint)浏览器?

我在酱油实验室做测试。我在after块中尝试了saint.get_config[:browser].to_s,但它返回一个空字符串 我想知道是否需要将其放入sause\u helper.rb?如果使用水豚,则Capybara.current\u session.driver.browser.browser将返回当前浏览器。有趣的是,page.driver.browser.browser似乎也能正常工作

如何在amazon ec2实例上使用serverspec docker资源

我有以下结构- Bastion(带有公共DNS的EC2实例)->运行docker容器的私有EC2实例 现在,我可以看到docker容器使用ssh-I key.pem ec2通过ssh运行到Bastion-user@ec2.us-west amazon.com后接ssh-i key.pem后接docker ps-a 我有15个具有不同docker容器的不同私有EC2实例。我想ssh到每个私有EC2实例,并检查每个docker容器的属性 对于serverspec,我尝试了类似的方法- describ

Rspec 为每次测试启动新的水豚会话

我正在尝试为我们的每一个rspec测试启动一个新的Capybara会话,但无法确定如何在完成后正确退出/关闭会话 这是我的spec_helper.rb文件 RSpec.configure do |config| config.include Capybara::DSL config.before :each do @session = Capybara::Session.new(:selenium) end config.after :each do @s

Rspec 跑动护板投掷错误

windows 7上的保护提供错误(64位) 大家好,我是ruby新手,我正在尝试学习rspec,并正在使用guard运行rspec示例 在发出命令之前,我尝试运行一个简单的rspec示例(通过设置以下环境) 守卫以监视rspec资源 ruby-1.9.3p545 rspec-3.0.0 guard-2.6.2 guard-rspec-4.2.9 日志: C:/softwares/Ruby193/lib/ruby/gems/1.9.1/gems/listen-2.7.6/lib/listen/

使用let与block参数的RSpec共享_示例

Sandi Metz的“Ruby中的实用面向对象设计”使用Minitest演示如何编写共享测试来测试角色。因此,我正在考虑如何进行RSpec等效。 车轮起到可测量直径的作用。直径可测量的被定义为响应宽度的对象。到目前为止,我提出了两个不同的版本,使该对象可用于共享示例。哪种方法更好,还是有更好的方法 版本1,使用let: # wheel_spec.rb RSpec.describe Wheel do let(:wheel) { Wheel.new(26, 1.5) } it_behav

Rspec 设置cookie以测试帮助程序

我试图测试我的helper函数,它返回cookie中的字符串集。测试如下所示: context 'if the cookie does exist' do it 'returns filled hash' do request.cookies['history'] = '{\"1_2_2\":\"HAI\"}' expect(history_terms_array).to eq('{\"1_2_2\":\"HAI\"}') end end 但是,由于某些原因,我不断收到

Rspec 测试失败,有书面记录

我有一个应用程序有两种模式-新闻和音频 在项目中添加了paper_trail,并将has_paper_trail放在两个模型中后,应用程序工作正常,但新闻模型的一些测试失败 新闻项有一个方法,可以检查正文中是否有有效的音频URL,然后根据URL中的ID查找audio.find。正是这种方法和调用其他模型的类似方法失败了 如果我从音频规范中删除has_paper_trail,则新闻测试全部通过。音频测试无论是否通过 书面记录在测试中被禁用,我有一个测试要检查这一点 是什么导致调用另一个模型上的方法

RSpec-获取迄今为止发生的错误数

是否有方法访问或统计在特定点发生的故障数?例如,在我的第一个描述块的末尾,我想看看发生了多少次故障。我知道最后会打印出来,但我现在就要:)这个问题是重复的。请看下面的答案:

Rspec Rails教程7.2.2用户控制器问题

我在Michael Hartl的Rails教程的第7.2.2节(第7章)中,当我在app/controllers/users\u controller.rb中添加@user变量时,事情变得很奇怪。现在应该通过的测试没有通过,而是因为不同的原因失败了: $ rspec spec/requests/user_pages_spec.rb -e "signup page" Failures: 1) User pages signup page Failure/Error: before { vi

Rspec 使用Selenium remote webdriver&;HTTP基本身份验证

嗨,智者社区! 在使用远程Webdriver进行测试时,有没有处理Selenium 2(rpec和capybara)的基本身份验证的想法?喜欢Internet Explorer 9吗 我所尝试的: 我没有使用RackTest。我确实使用了Selenium网格和远程Webdriver。 我不想使用“访问”http://user:password@com/“因为这对IE9不起作用(并且Reg密钥更改为允许它对Win7/IE9不起作用) 我读过。有很多具体的想法,但我看不到支持远程Webdriver和

Rspec 利用“工厂女孩”来创造一种个性特征有很多关系

我想干掉我的测试套件。试图创造一种特性来代表一个产品的特定价值在父工厂中有很多关系。理想情况下,这些值将由单独的工厂创建 我想这样做: factory :room do trait :bathroom do type :bathroom end end factory :house do trait :one_bathroom do association, :rooms, factory: [:room, :bathroom] end end 如果房屋

如何在rspecCapybara中测试javascript?

我使用javascript库clipboardjs将输入字段值复制到系统剪贴板 在my application.js中: function addressClipboard() { new Clipboard('.address-copy', { text: function(trigger) { var addressString = ""; addressString += $('#addresses_attributes_0_stre

Rspec 查找没有特定类名的元素

这和我以前问的这个问题是一样的-。我能够基于使用类名资产卡可选项添加特定数量的元素 目前,我希望单击更多元素,将它们添加到现有集合中。我的困境是: 未单击元素时,类名为:图像卡资产卡可选 单击某个元素时,selected将附加到类名:image-card-asset-card-selected-selected 在我的例子中,我试图寻找只显示图像卡资产卡可选且不包括选定的其他元素。我不知道如何明确定位它们 有没有一个正则表达式解决方案或其他方法来解决这个问题?找到没有特定类的元素的最简单方法

Rspec部分问题

我正在为视图编写规范,它在布局中呈现了一个菜单(部分菜单)。我想为所选菜单编写规格。这是密码 it "should have User Administration link" do template.stub!(:render).and_return(:partial => "layouts/admin/menu") do_render #render :partial => "layouts/admin/menu" #do response.sho

Rspec Spork和db:试验:准备

我希望这个简单的问题有一些聪明的答案 我使用Spork运行我的规格和功能。效果很好。但是,如果使用迁移更新数据库,则在不停止两台spork服务器的情况下无法更新测试数据库。我是否可以让spork在不关闭数据库的情况下删除并重新创建数据库 我之所以问这个问题,是因为我可以在我的开发服务器运行时运行迁移,在我看来,我正在做完全相同的事情。也有同样的问题,并发现了以下问题: 根据那里的建议,我补充说: ActiveRecord::Base.remove_connection 到spec_helper

如何从irb内部试验rspec

例如,我想在irb中说b=double(“book”),然后处理结果 如果我说 require 'rspec' b = double("book") 我犯了一个错误。想法?您可以通过以下方式在irb中玩RSpec测试双打: $irb >需要“rspec/mocks/standalone” >b=双(“书本”) => # 很棒的提示!还有哪些其他…/独立选项?有吗?据我所知,这只是mock,但是您可以在您的mock对象上存根方法和设置消息期望,这非常方便。如果您发现任何有趣的内容,请更新此线程

为什么RSpec在windows上速度如此之慢?

是的,冒着风险让整个Rails社区超过我 。。。为什么RSpec在windows上速度如此之慢?我说的慢是指慢。47分钟内完成710个示例。分钟 与同一台电脑上的cucumber相比,183个场景和1280个步骤只需1.26分钟 RSpec-模型和控制器 Cucumber-所有可能的用户交互 我知道RSpec的速度很慢,但我肯定想知道为什么每个示例平均花费4秒。我已经运行RSpec向我展示了最慢的前10名,但它似乎是一个“一般”的慢度,而不是任何特别的慢度 我是一个“快乐的windows用户”(

ActiveAdmin/Rspec-ActionView::Template::Error(未定义的方法`action_methods';用于nil:NilClass)

我最近将我的测试从Cucumber/Capybara转换为Rspec/Capybara。我正在使用ActiveAdmin。当我用Cucumber对ActiveAdmin运行测试时,测试运行,一切都通过了。当我使用Rspec运行测试时,我收到: Rendered /home/vagrant/.rvm/gems/ruby-2.0.0-p451/bundler/gems/active_admin-d11c0a56504a/app/views/active_admin/resource/index.ht

无法使用RSpec测试获取水豚截图

我查阅了Github文档,通过谷歌搜索找到了答案,但没有找到为什么水豚截图没有保存任何失败截图的答案 这是我目前为我的应用程序所做的设置 Gemfile group :development, :test do gem 'meta_request' gem 'factory_girl_rails' gem 'faker' gem 'rspec-rails', '~> 2.14.1' gem 'capybara' gem 'capybara-webkit' gem

水豚原';当';rspec规范';使用,但仅当';rspec规范/特征';使用

该问题基本上在主题中描述。我真的不知道这个问题是RSpec问题还是水豚问题。我还没有在网上找到任何关于这个问题的信息,潜入水豚的代码也帮不了我。 我正在使用capybara webkit驱动程序。它真的只是没有启动服务器,还是在运行0个示例时正确结束?所有示例都失败,因为服务器没有启动。

Rspec 如何避免在模拟被测试实例内的方法时使用的allow_any_instance_

我想测试一个新对象的initialize,在这个initialize中调用了一个我需要模拟的方法(这个方法要求用户输入一个名称…典型情况) 这是可行的,但是使用allow\u任何\u实例 如果没有允许的任何实例,我如何测试它?,因为我已经读到它不应该被使用 非常感谢如果您想在initialize函数中使用call私有方法,我怀疑除了允许的任何实例之外,没有其他方法。在方法定义中使用字符串literal名称,是错误的语法 但是,您可以重构代码,使用TestDouble来更轻松地进行测试 下面的代码

如何检测rspec文件是否作为测试套件的一部分运行

从spec文件内部,我如何检测该文件是作为测试套件的一部分运行还是单独运行。如果它是自己运行的,我想要详细的输出,但是如果它是多个文件中的一个,那么我想要抑制输出 例如,如果文件是'spec/models/my_model_spec.rb',我想区分 rspec spec 及 我在我的spec\u helper.rb文件中发现了这个注释: # Many RSpec users commonly either run the entire suite or an individual # fil

如何使用Capybara 2.0.2和rspec 2.10.0测试页面标题?

我使用Capybara 2.0.2和Rspec 2.10.0测试页面标题: page.should have_selector('title', :text => 'Page title') 但它不起作用。 有人能帮我吗?不确定您使用的是哪个版本的gems,但我遇到了一个类似的例子,使用:text失败,但当我使用:content时,它通过了测试 试着替换 page.should have_selector('title', :text => 'Page title')

Rspec 如何使用shoulda提供的消息测试mongoid模型验证?

我有一个带有验证的模型,如下所示: class Order include Mongoid::Document field :first_name, type: String field :last_name, type: String validates_presence_of :first_name, :message => "Can't be empty" validates_presence_of :last_name, :message => "Ca

如何与rspec和capyabara协调动画的计时

我无法在不呼叫睡眠的情况下让rspec测试正常工作: it 'should allow deleting of foo brand attributes', :js => true do @foo.brand_attributes << BrandAttribute.new(key: :tes

railstutorial,这是RSpec 3中不支持的不推荐行为

我在做《铁路史》,现在是第11章 为什么会出现这种错误 警告:让声明在(:all) 钩住: /用户/xxx/Documents/rails\u projects/sample\u app\u 2/spec/requests/microspost\u pages\u spec.rb:49:in `'中的块(4层)' 这是RSpec 3中不支持的不推荐行为 let和subject声明不打算在 before(:all)hook,因为它们用于定义重置的状态 在每个示例之间,whilebefore(:al

Rspec 3.2中是否有使用expect语法的_实例被破坏?

有人碰到这个吗 作品: MyClass.any_instance.should_receive(:my_method) 不起作用: expect(MyClass.any_instance).to receive(:my_method) 我是不是把语法搞砸了,还是在expect语法中根本不可能这样做? 我真的很想在这里坚持expect,但还没有解决 谢谢 RSpec引入了的expect\u any\u instance\u,如中所述,以支持使用“expect like”语法。您所展示的内容确实

Rspec 脚本标记未在Capybara/PhantomJS中呈现

我正在使用Capybara和PhantomJS来运行一些集成测试。我们测试的一部分是订阅表单,它使用一个条带嵌入表单来呈现支付按钮。在我们的测试中,当我运行print page.html时,输出中有: <form accept-charset="UTF-8" action="/subscription" class="plan PlusMonthly" id="plan-PlusMonthly" method="post"> <div style="margin:0;

Rspec 跳过单元测试-Arcanist

我们(royal We)有许多单元测试(几千个)。有些仍然依赖于外部服务,因为在编写这些服务时,服务依赖项没有被删除。VCR被用来作为一种分类方法 我正在花时间清理这些旧测试(将其视为一个Zen练习),我有几个工作分支(每个分支基本上构成了特定组件[model/controller/etc]的测试套件)。但是,我希望能够禁用大量(~100)的单元测试仍然依赖于外部服务的测试文件我可以通过添加--nounit作为命令行参数来实现这一点

Rspec 升级到chromedriver 2.30后,错误:无法解析功能:chromeOptions/无法解析mobileEmulation/';苹果iphone6';必须是有效的设备

在我们用Ruby编写的Capybara/Rspec套件中,我们使用一个特殊的驱动程序来测试触摸交互和移动屏幕大小 此代码在Chromedriver 2.28中工作 我们在spec/spec\u helper.rb中的设置 Capybara.register_driver :chrome_emulating_iphone_6 do |app| mobile_emulation = { "deviceName" => "Apple iPhone 6" } caps = Selenium

RSpec-什么时候应该为每个规范使用一个断言?

据我所知,坚持单一断言规则的主要好处是,在运行测试套件时,您可以更全面地了解测试套件的状态。与失败然后不运行后续断言不同,您可以确切地看到有多少断言失败 这就是说,遵守这一规则与不遵守这一规则之间的绩效差异是显著的。就开发时间而言,随着时间的推移,它也会增加持续集成平台(如CircleCI)的成本 如果我们看一下我写的这个测试示例: describe 'success' do before do result end it 'returns a user' do e

Rspec TypeError:undefined不是函数(计算';navigator.sendBeacon';)

当我运行我的规范时,我面临这个错误。当我调试规范时,我知道无论我在哪里使用单击按钮“login”,rspec都会将此错误放入日志中。 Testcases被传递,但在travis CI上以及在本地,它会抛出以下错误:TypeError:undefined不是一个函数(评估“navigator.sendBeacon”) 错误: Run options: include {:locations=>{"./spec/features/manager/manager_views_res

RSpec集合是否包含空数组?

我在Post模型中有一个搜索方法: def self.search(search, category_id) if search.strip.empty? [] elsif category_id.empty? Post.approved.where('lower(title) LIKE ?', "%#{search.downcase.strip}%") else @category = Category.find_by('id = ?',

上一页   1   2    3   4   5   6  ... 下一页 最后一页 共 26 页