Tag: bdd

检查RSpec中的ActiveRecord关联

我正在学习如何使用Rspec编写测试用例。 我有一个简单的post评论脚手架,其中一个post可以有很多评论。 我正在使用Rspec进行测试。 我应该如何检查Post :has_many :comments 。 我应该将Post.comments方法存根,然后通过返回注释对象数组的模拟对象来检查它吗? 真的需要测试AR协会吗?

authlogic flash 没有显示在黄瓜webrat步骤中

我正在使用黄瓜运行BDD步骤来实现我的autlogic登录行为。 Scenario: log in Given a registered user: “test@test.com” with password: “p@ssword” exists And I am on the homepage When I follow “Log in” And I fill in “Username” with “test@test.com” And I fill in “Password” with “p@ssword” And I open the page And I press “Login” And I open the page Then I should […]

使用RSpec期望方法调用和代理到原始方法

我想发现缺少BDD:包括ActiveRecord :: Base.find方法的参数。 所以我的想法是在规范中有这样的东西: ActiveRecord::Base.should_receive(:find).once.and_proxy_to_original_method parent = SomeClass.find 34 parent.child.should be_loaded parent.other_children.should be_loaded 如果没有急切加载#child或#other_children关联,则期望会失败,例如:“预期的ActiveRecord :: Base.find被调用一次但是它被调用了2次以下args:1. …; 2。 ……” 有谁知道是否有一些像这样工作的匹配器或如何做到这一点。 谢谢

使用自动完成function编写的Cucumber IDE?

是否有任何Eclipse插件用于编写具有自动完成function的黄瓜function? 我想从其他function中查找和重用步骤会很好。 有任何想法吗?

如何找到未使用的黄瓜步骤

我和Cucumber一起工作了大约一年,并且一直在不断重构function和步骤定义。 我在许多文件中定义了大量的步骤,我不禁觉得不再需要其中许多文件。 有没有办法找到哪些黄瓜步骤定义不再使用?

用于PHP应用程序的黄瓜

可以在Rails之外使用Cucumber吗? 我想开始使用它来测试我的一些PHP应用程序,但我真的不知道如何开始。 可能最简单的方法是创建一个Rails项目,只运行Cucumberfunction,但这对我来说似乎有些过分。 设置Cucumber以测试非Rails应用程序的最简单方法是什么?

使用minitest进行多次测试

我有一个应用程序,其中一些规格写入minitest 。 像往常一样,我用rake开始。 因为有时我得到一个随机的结果,我的规格可以通过一次,而另一次失败。 在这种情况下,我可以保留序列号,并在修复后重播。 因为我有这种测试(随机结果),我通常运行rake很多次,只是为了确保应用程序没问题。 我想知道是否有一种很好的方法来执行多次rake测试(例如100次),如果出现任何故障或任何错误,请停止它们?

如何使用以前版本的Rspec运行我的规范?

我一直在我的一台机器上学习RSpec教程,希望能够学到更多关于BDD和TDD的知识。 我的设置是使用Rails 2.2.2和Rspec 1.1.12 今晚我决定继续使用我的主机并将我的代码从便携式设备移到桌面上。 没有RSpec,我安装了gem。 。 。 sudo gem install rspec sudo gem install rspec-rails 纷争和诽谤! 安装了新版Rspec! 1.2.0! 而现在我的测试都失败了! 虽然我完全打算跟进并学习最新版本,但我真的想完成本教程的内容,而不必重新开始。 我想知道。 有没有办法安装并指定我想针对之前的Rspec,1.2.12运行我的代码?

gem如何提供Cucumberfunction和步骤定义?

我有两个Rails项目(A和B),其中包括以下gem: #project A gem “green_theme”, :path => “~/dev/themes/green_theme” gem “devel_tasks”, :path => “~/dev/themes/devel_tasks” #project B gem “red_theme”, :path => “~/dev/themes/red_theme” gem “devel_tasks”, :path => “~/dev/themes/devel_tasks” A和B两个项目都具有function和步骤的function目录。 红色和绿色这两个主题应该具有共同的function,如登录/注销按钮,html元标记等。 我需要做的是将共同主题相关的function和步骤放在devel_tasks gem中。 这样我就可以共享测试并使用它们来检查给定模板是否符合标准。 测试我需要做的一个简单方法是使用示例Cucumberfunction创建一个新的Rails项目,然后尝试运行“cucumber examples / i18n / en / features”。

如何模拟Net :: HTTP :: Post?

是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟这个方法: def method_to_test url = URI.parse uri req = Net::HTTP::Post.new url.path res = Net::HTTP.start(url.host, url.port) do |http| http.request req, foo: 1 end res end 这是RSpec: let( :uri ) { ‘http://example.com’ } specify ‘HTTP call’ do http = mock :http Net::HTTP.stub!(:start).and_yield http http.should_receive(:request).with(Net::HTTP::Post.new(uri), foo: 1) .and_return 202 method_to_test.should == 202 end 测试失败,因为似乎试图匹配NET :: HTTP :: Post对象: […]