如何对命名空间模型进行单元测试

Cho*_*ett 5 unit-testing namespaces ruby-on-rails shoulda

在我的 Rails 应用程序中,我大量使用模型目录的子目录,因此使用命名空间模型 - 也就是说,我有以下目录层次结构:

models
|
+- base_game
|  |
|  +- foo.rb (defines class BaseGame::Foo)
|
+- expansion
   |
   +- bar.rb (defines class Expansion::Bar) 
Run Code Online (Sandbox Code Playgroud)

这是由 Rails 强制执行的 - 也就是说,将类称为“只是”FooBar.

我想对这些类进行单元测试(在 ActiveSupport::TestCase 之上使用 Shoulda)。我知道被测类的名称将派生自测试用例类的名称。

我如何编写单元测试来测试这些类?

Cho*_*ett 4

ActiveSupport事实证明,即使在正常的/下,它也是直接的Test::Unit。只需将模型目录结构复制到/test

test
|
+- base_game
|  |
|  +- foo_test.rb (defines class BaseGame::FooTest)
|
+- expansion
   |
   +- bar_test.rb (defines class Expansion::BarTest) 
Run Code Online (Sandbox Code Playgroud)