作为我尝试学习 Web 开发的一部分,我已经达到了一个点,即我想在我的 rails 环境中测试一些咖啡脚本类。
我有一个一直在开发的 rails 4.03 应用程序(它基于 rails教程)。在学习 rails 的过程中,我已经习惯了使用 rspec 和 FactoryGirl,所以如果可能的话,我想尝试对 coffeescript 遵循类似的流程。
我把我所有的咖啡脚本写成单独的类,每个类都有自己的文件,所以我认为它们应该是可测试的。
我目前安装了茶匙,它看起来很像 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 中,我可以为模型定义一个工厂,创建的对象将是我与该工厂相关联的类的实例。这里似乎与我试图生成实例的类没有任何关联。例如,只有我在工厂定义中定义的属性可用,对象上没有定义任何方法。我可能做错了什么,或者尝试使用咖啡脚本以某种方式破坏了这一点。