问题标签 [machinist]

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 回答
516 浏览

unit-testing - 使用机械师代替固定装置

在我的Rails 3应用程序中,我有一个包含以下字段的用户模型

我正在使用机械师 2生成模拟数据,它的蓝图看起来像

和用户的单元测试

当我生成用户模型时,它创建了一个夹具文件。我的理解是,当我运行时rake,Rails 使用该夹具文件来生成测试中使用的对象。这不是我想要的。我希望 Rails无缝地使用机械师的蓝图,因为它使用了夹具文件。

有没有办法做到这一点?有什么方法可以告诉 Rails 它需要使用蓝图而不是固定装置?

0 投票
1 回答
543 浏览

ruby - 在 Machinist 蓝图中继承属性

使用机械师,是否有某种方式可以定义蓝图,以便它们从其他蓝图继承属性?我查看了我找到的所有文档和示例,但我没有看到它发生。

我想做这样的事情:

它们都从第一个蓝图继承名称/电子邮件,而 :contibutor 蓝图从 :editor 蓝图继承 group 属性。

这可能吗?

0 投票
2 回答
835 浏览

ruby-on-rails - cucumber 和 rspec 可以使用同一个 blueprints.rb 文件吗

我同时使用 Rails 3、机械师 2、黄瓜和 rspec,并且有两个 blueprints.rb 文件。一个在 spec 目录中,一个在 features/support 目录中。

只有一个 blueprints.rb 文件是个好主意吗?

如果是,那么设置它的首选方法是什么?

与此同时,我只是将我的 features/support/blueprints.rb 文件符号链接到 spec/blueprints.rb 这可能很糟糕,但它对我有用。

0 投票
2 回答
1639 浏览

ruby-on-rails - 机械师,我如何引用我正在制作的对象并将其传递给关联?(关联类型不匹配)

我正在尝试为相对复杂的模型建立工厂。

我有一个 Pressroom 模型,属于 Source,Source 有很多 Pressrooms。创建 Source 时,如果 pressrooms 为空,则会在 after_create 过滤器中创建初始 pressroom。每个来源的新闻发布室站点必须是唯一的。

这导致了我的问题:我Pressroom.make失败了​​,因为它构建了一个没有新闻发布室的 Source,所以after_create回调创建了一个,当Pressroom.make尝试完成时,它的站点不是唯一的。我不想在跑步时创建两个新闻发布室Pressroom.make

我解决这个问题的尝试是让新闻发布室蓝图中的源关联引用新闻发布室。有点什么Source.create :pressrooms => [Pressroom.new]会做的。

不幸的是,self它还不是新闻中心。它是 Machinist::Lathe 的一个实例,所以我得到一个 ActiveRecord::AssociationTypeMismatch 异常。

在工厂和机械师方面,我有点新手。我不想改变业务逻辑,我希望能够干净地制作新闻发布室,Pressroom.make而无需在此过程中制作两个新闻发布室。如果切换到工厂女孩会有所帮助,我对此持开放态度。

对于如何解决此问题的任何想法,我将不胜感激。

0 投票
0 回答
314 浏览

ruby-on-rails - 在 rails 控制台与 rails s (WeBRICK) 中需要路径之间的差异

我在开发中使用机械师蓝图。

来自 development.rb:

它在控制台中运行良好。

当我运行服务器时,我的控制器知道我的模型响应#make,但他们不知道蓝图已定义。

这很奇怪,因为声明

位于 blueprints.rb 文件中。还有,“装!” 语句在我的服务器日志中打印出来。

0 投票
1 回答
711 浏览

ruby-on-rails - 什么时候红宝石数组计数不等于数组中的元素数?

我正在运行 testunit(与机械师一起)并在运行 ruby​​ 调试器时得到这个非常奇怪的结果

我的 Document/DocumentItem 模型的片段:

为什么 document_items 数组计数与 document_items 中的元素数不同?这是某种机械师的魔法吗?(可能与:Rails 3 中的 Ruby 1.92:Array.length 不等于 Array.count 的情况有关?

但是导致这一切的问题是,为什么 document_items 是空的?连接设置正确,因为这有效:

0 投票
1 回答
290 浏览

ruby-on-rails - 是否有任何 Rails 工厂可以帮助我测试非持久模型?

我正在开发一个 Rails 应用程序,其模型是普通的 ruby​​ 类,没有任何持久层(没有活动记录或类似的)。我想用一些工厂提供的所有细节(机械师、工厂女孩)来测试来自 RSpec 的这些模型。这些模型将来可能会与持久模型相关联,或者可能实现自定义持久模型。

有什么建议么?

0 投票
1 回答
250 浏览

ruby-on-rails - 机械师 + Cabybara + Test::Unit = 缺少蓝图

我遇到了一个非常令人困惑的问题......

当我单独运行它们时,我所有的测试都通过了。当我像 rake 测试一样运行它们时,在我的集成测试运行之后,机械师说它再也找不到蓝图了。

为了让水豚测试正常工作,我必须调用一些魔法......

为了获得事务性装置,我将所有活动强制到单个事务上,如下所示:

发出类似的东西后, visit new_user_session_path 我必须这样做 load "#{Rails.root}/test/blueprints.rb" 才能再次使用我的蓝图。

任何关于机械师如何在简单之后失去其蓝图的想法visit

0 投票
1 回答
487 浏览

ruby-on-rails - validates_uniqueness_of 测试失败,机械师

我的模型上有一个 validates_uniqueness_of 验证:

我正在使用机械师,并且在我运行测试时上述验证失败

我只是在我的测试中制作了 1 个“事件”,并尝试了 event_number_digit、event_number_alpha 的不同值,但没有运气。有任何想法吗?

0 投票
1 回答
553 浏览

ruby-on-rails - 机械师 + RSpec 和保留字

我有一个蓝图:

“context”是Model的属性,也是RSpec的保留字。当我尝试制作和反对时,我在“上下文”行得到 ArgumentError。

任何想法如何克服这种情况?