关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭9年前。Improvethisquestion有十几个Rails插件,它们的目标是替换测试中的固定装置。以下是我能想到的一些:fixture更换工厂女工工厂和workerrails场景fixture场景反对爸爸可能还有其他的。您更喜欢这些插件中的哪一个?为什么?
我正在尝试将我的应用程序升级到Rails3.1,但在运行测试时遇到了问题。每个测试都失败并出现此错误:NameError:uninitializedconstantFixtures它来自于在我的灯具中使用Fixtures.identify():rails3.1不再支持它了吗?除了使用Fixtures.identify获取夹具的ID之外,还有其他方法吗? 最佳答案 现在您必须将其称为ActiveRecord::Fixtures。 关于ruby-升级到Rails3.1后的夹具问题,我们在St
假设我有一个User模型,在User.rb中包含以下代码:before_create:create_dependenciesafter_create:build_inbox我还有一个users.yml文件,其中定义了一堆用户装置。当我运行rakedb:fixtures:load时,它似乎没有触发回调。这是预期的工作方式吗?如果是这样,他们为什么要这样设计?有没有办法在加载固定装置时强制触发回调? 最佳答案 Isthishowitisexpectedtowork?Ifso,whydidtheydesignitthisway?是的,灯具
类似于此处描述的问题:http://rpheath.com/posts/411-how-to-use-factory-girl-with-rspec简而言之(缩短的代码):规范助手:config.use_transactional_fixtures=trueconfig.use_instantiated_fixtures=false工厂.rb:Factory.define:statedof.name"NY"end在我的规范中before(:each)do@static_model=Factory(:state)#withvalidateuniquenessofstatenameend错
如thisarticle中所述,我在灯具中使用自动关联。例如,如果一个区域对象有一个国家ID,我不会执行“country_id”:1,而是执行“country”:“USA”。“USA”是我的countries.yml文件中的一个标签,所以fixtures知道如何处理它。但是,这仅在您未为国家/地区对象指定ID值时才有效。所以我不能将USA的ID指定为1。但是如果我不将其指定为1,它最终会变成某个大值8974343...这有点奇怪。有没有办法让灯具自动生成不是超高的ID?....或者这样可以吗? 最佳答案 这就是您获取fixture标
我有以下模型:classCompany每当我收到新请求时,我想向同一地区的活跃公司发送通知。我如何在我的固定装置中设置它,以便我可以对寻找合适公司的逻辑进行单元测试?我试过了region_ids:1,2regions:one,two在companies.yml中,但都不能为公司分配区域。这里是生成的SQL的要点:https://gist.github.com/2713518 最佳答案 为了regions:one,two要在companies.yml中工作,您需要让Rails自动分配区域的ID。这是因为(为了避免必须在companie
我有一个使用固定装置的功能测试。我也在我的单元测试中使用了固定装置,但它们没有缺陷。运行功能测试时,我得到:NoMethodError:undefinedmethod'recycle!'for#/test/functional/responses_controller_test.rb:10:in'test_testing'在这一点上,我的功能测试只执行获取索引操作。示例:setupdo@response=responses(:one)endtest"testing"doget:indexasserttrueend我的TestHelper类确实包含所有固定装置,因此Responses固定
因此,我尝试在Rails项目的上下文中学习rspecBDD测试框架。我遇到的问题是,在我的一生中,我无法在rspec描述中正确加载我的固定装置。免责声明:是的,有比固定装置更好的东西可以使用。在我开始使用相关工具(如factory-girl、mocha、auto-test等)之前,我试图一次学习一件事,在这里(特别是rspec)。因此,我试图让死的简单,如果笨重,固定装置工作。无论如何,这是代码:/test/fixtures/users.yml-#password:"secret"foo:username:fooemail:foo@example.compassword_hash:34
我正在使用一个Rails2.2项目来更新它。我正在用工厂(使用factory_girl)替换现有的固定装置,但遇到了一些问题。问题在于表示具有查找数据的表的模型。当我使用两个具有相同产品类型的产品创建购物车时,每个创建的产品都会重新创建相同的产品类型。此错误来自对ProductType模型的唯一验证。问题演示这是我创建购物车并将其分成几部分的单元测试的结果。我必须这样做才能解决这个问题。不过,这仍然说明了问题。我会解释。cart=Factory(:cart)cart.cart_items=[Factory(:cart_item,:cart=>cart,:product=>Factory
对于我在jasmine.js版本1.3.1中的测试套件,夹具工作正常。将Jasmine.js版本升级到2.0.0后,fixtures不工作。谁能解释一下,如何使我的代码适用于jasmine.js2.0.0版中的固定装置?我已经检查了这个jasminev2.0.0发行说明,但没有与固定装置相关的内容:https://github.com/pivotal/jasmine/blob/v2.0.0/release_notes/20.md 最佳答案 下面的完整脚本对我来说工作正常,可以加载装置来测试您的html片段。我已经引用了这个url,这