我正在开发我的第一个Rubygem,并捆绑了cucumber、rspec和shoulda-matches进行测试。当我运行rspec时,出现以下错误:/app/my_gem/spec/spec_helper.rb:6:in`':undefinedmethod`configure'forShoulda::Matchers:Module(NoMethodError)这是我的gem规范:#my_gem.gemspec...Gem::Specification.newdo|spec|......spec.add_development_dependency"activemodel"spec.a
如果您要选择测试框架,您会如何在cucumber和shoulda之间做出决定?这两个框架的主要区别是什么? 最佳答案 正如大家所指出的,Cucumber和Shoulda的目标截然不同。您可以将Cucumber视为“10,000英尺的View”测试框架-您定义广泛的功能或特定的用户交互,并确保一切正常。Shoulda用于单元测试-您选择一个特定模型并彻底测试该单独部分的所有挑剔的小功能。通常,您会希望结合使用这些类型的框架。例如,您的大部分广泛的高级测试都可以用Cucumber编写,但是当您的系统中有一段特别复杂或不透明的代码时,您可
我将以下代码放入RSpec测试中:it{shouldvalidate_format_of(:email).not_with('test@test')}并设置实际的类:validates:email,:presence=>true,:format=>/\b[A-Z0-9._%-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b/i当我运行测试时,我得到:失败:1)用户失败/错误:它{应该validate_format_of(:email).not_with('test@test')}当电子邮件设置为“test@test”时,预期错误包括“can'tbeblank”,得到错误
我已经使用了一段时间的shoulda,并且阅读并使用了rspec。我没有做过深入的比较和对比。但在我看来,两者之间有一些重叠,但它们不是1-1的替代品。我正在考虑使用rspec在我的rails系统中编写一些单元测试,而不替换所有使用shoulda编写的现有测试。只是作为一种获得感觉的方式。这是个好主意吗?我可以逐渐从一个转移到另一个还是自找麻烦?我应该考虑其中一个比另一个明显的优势吗?谢谢! 最佳答案 我不得不反对Chris的回答,即它们是替代方案。我在我的Rails应用程序中同时使用Shoulda和Rspec,它们相互补充得很好。
我有一个方法可以比较两个文本文件是否具有相同的内容。如何使用RSpec比较两个文本文件是否具有相同的内容? 最佳答案 对于其他偶然发现此问题的人,请检查FileUtils#cmp方法:require'fileutils'expect(FileUtils.compare_file(file1,file2)).tobe_truthy 关于ruby-如何使用RSpec比较两个文本文件?,我们在StackOverflow上找到一个类似的问题: https://stac
我正在测试我的资源Controller的删除操作,如下所示:describeResourceControllerdocontext"DELETEdestroy"dobefore:eachdodelete:destroy,id:@resource.idendit{shouldrespond_with(:no_content)}endend我期待204/无内容响应。但是,此测试失败,因为服务器返回的响应是406。当我直接从Rest测试客户端访问Controller时,响应是204。 最佳答案 几年过去了......我只想指出,可以使用e
我有一个或多或少像这样的测试:classFormDefinitionTest我特意加了一个raise"blah"在路上的某个地方,我得到了这个错误:RuntimeError:blahtest/unit/form_definition_test.rb:79:in`__bind_1290079321_362430'当我应该得到一些东西时:/Users/pupeno/projectx/db/seed/sheet_definitions.rb:17:in`sheet_definition':blah(RuntimeError)from/Users/pupeno/projectx/db/seed
我是单元测试领域的新手;我现在只使用单元测试大约2个月。当我在Ruby中进行单元测试时,我目前遵循TDD风格并使用Test::Unit::TestCase。我还阅读了RSpec以及它如何遵循BDD方法论。我也读过关于Shoulda的文章,它介于两个框架之间。我的问题是,我应该把时间花在RSpec还是Shoulda上,还是应该坚持使用Test::Unit::TestCase?对这个问题的任何意见表示赞赏。 最佳答案 Shoulda称赞Test::Unit和RSpec,所以我不认为这是选择Shoulda而不是RSpec的情况,反之亦然。
我正在尝试在RubyonRails中使用Test::Unit和Shoulda设置FactoryGirl。我已经安装了gem,在test/factories目录下创建了我的工厂文件,并在test/models目录下创建了我的spec文件。我得到的当前错误是“ArgumentError:没有这样的工厂:测试”,这让我相信没有加载test_factory.rb文件?关于我应该更改什么有任何想法吗?这是我的文件。#test/factories/test_factory.rbFactory.define:testdo|t|t.name'test_spotlight't.label'testspo
我正在以古老的方式学习Rails。以阅读AgileWebDevelopmentwithRails(第3版)作为起点。我目前在教测试的章节中。我也知道其他BDD测试框架,例如RSPec。所以我想知道RSpec、Cucumber、Shoulda等框架是否可以取代了解/使用Test::Unit的需要?它们本身是否相关并用于不同的目的?更新:由于我是测试新手,我也很想获得反馈,了解哪些资源对我熟悉不同的框架很有用。谢谢! 最佳答案 世界变了!检查并赞成@prusswan我认为Test::Unit仍然具有相关性,尽管围绕BDD和其他测试工具进