【发布时间】:2014-06-25 01:31:18
【问题描述】:
作为我尝试学习 Web 开发的一部分,我已经达到了一个点,我想在我的 Rails 环境中测试一些咖啡脚本类。
我有一个我一直在开发的 rails 4.03 应用程序(它基于 rails tutorial)。 在学习 rails 的过程中,我已经习惯了使用 rspec 和 FactoryGirl,所以如果可能的话,我想尝试在 coffeescript 中遵循类似的流程。
我将所有的咖啡脚本写成单独的类,每个类都在自己的文件中,所以我认为它们应该是可测试的。
我目前安装了teaspoon,它看起来很像 rspec。我有一些基本测试,但现在我需要开始编写真正的测试。 Teaspoon 支持固定装置,但我注意到有一个名为 factory_girl 的 node.js 包,它看起来像是 ruby FactoryGirl for rspec 的一个端口。我使用 npm -install 安装了这个包,现在我将它列在我的 rails 文件夹中的“node_modules”下。
有人可以告诉我是否可以使用这个包来生成对象以用茶匙进行测试,如果可以,如何?
更新: 我将下面的答案标记为已接受,因为我能够让 FactoryGirl 运行。 我所做的是(如答案中所建议的)是将 factory_girl.js 文件复制到可以由资产管道规范/javascripts/support 加载的位置,然后在 spec/javascripts/spec_helper.coffee 文件中需要它.
问题在于该功能似乎与 rails 中发生的不匹配(除非我完全忘记了它在 rails 中是如何工作的)。在 Rails 中,我可以为模型定义一个工厂,创建的对象将是我与该工厂关联的类的实例。这里似乎与我试图生成实例的类没有任何关联。例如,只有我在工厂定义中定义的属性可用,对象上没有定义任何方法。 我可能做错了什么,或者尝试使用咖啡脚本会以某种方式破坏它。
【问题讨论】:
标签: javascript ruby-on-rails node.js coffeescript teaspoon