问题标签 [cucumber]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
744 浏览

ruby-on-rails - 雪豹+黄瓜/webrat/rspec

自从我升级到雪豹后,我在使用 cucumber 运行我的功能时遇到了很多问题。

目前,每次我运行 cucumber 时都会出现以下错误。

缺少这些必需的宝石: webrat
cucumber >= 0.3.100 webrat >= 0.5.0 rspec >= 1.2.6 rspec-rails >= 1.2.6

您正在运行:/usr/local/bin/ruby 中的 ruby​​ 1.9.1.243 位于 /Users/nkassis/.gem/ruby/1.9.1、/usr/local/lib/ruby/gems/1.9 的 ruby​​gems 1.3.5。 1

运行rake gems:install以安装缺少的 gem。

所有这些 gem 都已安装(并在雪豹升级后重新安装)。

0 投票
5 回答
1632 浏览

ruby - Cucumber 和 shoulda 的主要区别是什么?

如果您要选择测试框架,您将如何在 Cucumber 和 shoulda 之间做出决定?

这两个框架的主要区别是什么?

0 投票
2 回答
907 浏览

ruby-on-rails - 如何让 Cucumber 和 RMagick 在 Snow Leopard 上发挥出色?

我安装了 Snow Leopard,经过几次重新安装后,一切都变得很好。但是现在当我去运行 cucumber 时,我得到了下面的错误,并且通过谷歌搜索我找不到任何结论性的东西。有没有人遇到过这个问题,或者可能有一些故障排除步骤可以尝试?

0 投票
5 回答
4137 浏览

ruby-on-rails - 使用 LDAP 服务器进行 Rails Cucumber 测试

我正在尝试为我的应用程序编写一些黄瓜测试,这些测试使用 Authlogic 进行身份验证,但实际上将用户存储在 LDAP 服务器中。

该应用程序似乎工作正常,但我遇到麻烦的地方是为它编写测试(我知道,我知道,我应该先编写测试。)拥有一个测试数据库很容易,其中数据在之后被清除每次运行,但使用 LDAP 服务器并不容易。

我的想法是编写一个 rake 任务(如 rake ldap:test:prepare)以在每次运行之前刷新 ldap 服务器(或使其成为依赖项),但是当我进行测试时这似乎非常耗时(并使自动测试接近不可能的。)

有一个更好的方法吗?是否有一个基于 ruby​​ 的假 LDAP 服务器,我可以使用预定义的装置绑定到?还有其他一些我没有想到的更优雅的解决方案吗?(不使用 LDAP 不是一种选择。)

0 投票
3 回答
302 浏览

ruby-on-rails - 如何为两个用户交互创建集成级别测试?

您将如何测试与 Cucumber/webrat 的多用户交互?

这意味着必须有多个用户登录。很好的例子是简单的聊天应用程序,我想从一个用户向另一个用户发送消息并检查另一个用户是否收到了消息。

我想在集成级别进行测试,没有任何存根或模拟。

0 投票
1 回答
2667 浏览

ruby-on-rails - 如何使用 Cucumber 和 Webrat 检查表单是否预先填充了值?

我正在使用 Rails 学习 Cucumber 和 Webrat,并且想要一些关于测试“编辑”表单的最佳方法的建议。当我浏览到用户的个人资料时,我会看到一个编辑表单,其中用户的信息预先填充在表单字段中。我希望能够测试这些字段是否确实包含我期望的信息。这是我的场景:

Cucumber 正确地告诉我,我需要定义以下自定义步骤:

我确信我可以找出一些讨厌的正则表达式来实现评估这些步骤,但我觉得必须有一些已经存在或更优雅的东西我可以做。您如何评估表单字段中预先填充数据的表单?

0 投票
2 回答
1615 浏览

ruby-on-rails - 使用 Webrat 查找包含链接的标签

所以我正在用Cucumber做 BDD,并有一个从数据库填充复选框的表单。复选框的标签包含超链接。到目前为止,还不算太奇特(注意,这是HAML而不是 Erb,但它应该对任何 Rails 人来说都足够可读):

问题是在我的 Cucumber 功能中,我不知道如何找到该复选框来检查它。故事的相关部分是这样的:

如果我使用的是裸webrat_steps.rb文件,我会收到以下错误:

我很确定这是因为这种link_to()方法,我用它来使“Escape Pod”成为指向实际网站的超链接。但是我无法link_to从我的 Cucumber 步骤轻松访问,而且我无法找出任何合理的方式将 Webrat 指向正确的复选框,除非在我的步骤中拼凑一大堆超链接代码(这使得它非常脆弱)。

我的 BDD 在这一点上停滞不前。我不想仅仅因为它很难测试就删除链接。而且感觉应该不难测试。Webrat 只是限制了我可以传递给该checks()方法的内容。谁能为此提出一个优雅的答案?

0 投票
1 回答
982 浏览

ruby-on-rails - Rail's Cucumber 中的类型错误运行功能

我正在尝试为我的 Rails 应用程序运行 Cucumber 并不断收到此错误:

这个错误有一个巨大的堆栈跟踪,但它没有指向任何特定的东西,除了缺少的要求。这是跟踪:


rake 功能(在 /Users/rob/blue/blue_web 中)/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby -I "/Users/rob/.gem/ruby/1.8/gems/ cucumber-0.3.102/lib:lib" "/Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/cucumber" --color --tags ~@wip --strict --format pretty --drb features/manage_logins.feature 警告:没有 DRb 服务器正在运行。在本地运行功能:类 Point (TypeError) /Users/rob/blue/blue_web/app/models/point.rb:1 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in polyglot_original_require' 的超类不匹配/Users/rob/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in require' /Users/rob/.gem/ruby/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:158:in 要求' /Users/rob/.gem/ruby/1.8/gems/activesupport-2.3.4 /lib/active_support/dependencies.rb:265:in require_or_load' /Users/rob/.gem/ruby/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:224:in depend_on' /Users/rob/.gem/ruby/1.8/gems/activesupport-2.3.4/lib/active_support/dependencies.rb:136:in require_dependency' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:414:in load_application_classes' /Users/rob/.gem/ruby/1.8/gems/rails -2.3.4/lib/initializer.rb:413:in each' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:413:in load_application_classes '/Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:411:in load_application_classes each' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:411:in '/Users/ rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:197:in process' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/initializer.rb:113:in send' /Users/rob/.gem/ruby/1.8/gems/rails-2.3.4/lib/ initializer.rb:113:in run' /Users/rob/blue/blue_web/config/environment.rb:16 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in polyglot_original_require' /Users/rob/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in require' ./features/support/env.rb:7 /Library/Ruby/Gems/1.8/gems /spork-0.7.2/lib/spork.rb:14:in prefork' ./features/support/env.rb:4 /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in gem_original_require' /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31: 在polyglot_original_require' /Users/rob/.gem/ruby/1.8/gems/polyglot-0.2.9/lib/polyglot.rb:70:in 需要'/Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/rb_support/rb_language.rb:107:in load_code_file' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/rb_support/rb_language.rb:48:in step_definitions_for'/Users/rob/.gem/ ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/step_mother.rb:90:in load_code_file' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/step_mother.rb:82:in load_code_files' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/ bin/../lib/cucumber/step_mother.rb:81:in each' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/step_mother.rb:81:in load_code_files' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/cli/main .rb:46:in execute!' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/../lib/cucumber/cli/main.rb:24:in execute' /Users/rob/.gem/ruby/1.8/gems/cucumber-0.3.102/bin/cucumber:9 rake 中止!命令失败,状态为 (1):[/System/Library/Frameworks/Ruby.framework/...]

0 投票
2 回答
2201 浏览

ruby-on-rails - Mocha + Cucumber 模拟网络响应

以下是app/models/websites.rb

第二个验证来自插件Validates Existence of URI plugin

以下是 features/support/mocha.rb 文件

但是当我尝试运行黄瓜功能时,它会尝试创建记录,并且在保存上述插件之前会尝试检查网络以获取响应。没关系。
但是当我想在测试环境中模拟它时,我正在尝试使用 mocha。

我应该如何编写代码来模拟网络响应或类方法validates_uri_existence_of以顺利运行测试?

0 投票
1 回答
371 浏览

ruby-on-rails - 使用 Stephen Celis 配置应用程序运行 Cucumber 时遇到问题

我正在尝试使用我在 Rails 中使用的配置应用程序来启动和运行黄瓜。

配置应用程序用于在 Rails 中设置各种配置选项,例如 ActiveResource 的站点值:

当我运行“黄瓜功能”时,我会得到一个错误

我假设这是因为黄瓜在运行之前没有使用配置 gem 中的值填充 self.site 字段。我已经在我的测试环境中包含了配置 gem,但没有任何运气。

我应该从这里去哪里?

原始应用配置 gem 位于此处: