【发布时间】:2011-12-14 10:44:31
【问题描述】:
我想为我创建的模块文件编写单元测试并将其放在 lib 目录中。在 test/unit 目录下,我创建了一个mylib_test.rb 文件。在文件中我需要 mylib.当我运行rake test:units 时,它会给出const_missing: uninitialized constant mylib::constantname 错误。我在想这是因为它没有加载 rails 环境,因为常量是在初始化程序文件之一中定义的。我说的对吗?我如何让它工作?为模块编写单元测试的最佳方式是什么?
我使用的是 rails 3.1.3,当我从终端和浏览器运行应用程序时,模型运行良好。
【问题讨论】:
-
为此 +1。我也想了解更多关于如何在 Rails 3.1 中测试自定义模块
-
我做了 rake environment test:units,但还是不行。我以为这应该加载环境,但它仍然没有工作
-
我做了什么(使用 RSpec2 而不是 Test:Unit),让我的模块在 extras/ 文件夹中爬行,如下所示:extras/crawl/module.rb 是在我的规范文件夹中添加重复的这些路径,就像这个spec/extras/crawl/module_spec.rb。然后我还创建了一个初始化器,它需要像'crawl/string'这样的自定义。以为我的自定义类是在我的 application.rb config.autoload_paths += %W(#{config.root}/extras)
标签: ruby-on-rails-3 unit-testing testing