0

我将 MongoMapper 与 Sinatra 连接起来,除了测试之外一切正常。我安装了带有机架测试和 Rspec 的自动测试。每当我运行自动测试时,它都会告诉我

/home/jason/ror/sbmongo/main.rb:11:in `<top (required)>': uninitialized constant 
MongoMapper (NameError)

这是它在我的main.rb文件中引用的代码行。

MongoMapper.database = 'testdb'

有什么问题,我该如何解决?

4

1 回答 1

1

require在 Ruby 中调用事物的顺序确实有所不同,因为在库中声明的常量只有在需要库后才可见。

运行 RSpec 时,最好将通用设置代码放在一个地方 -spec_helper.rb文件 - 然后放在单独的规范中(例如,当 specingmain.rbrequire 'spec_helper然后. 如果每个代码文件都需要按正确顺序所需的库,那么您的规范也将毫无问题地运行。如果不是,则表明s 的顺序不太正确。 require main.rbrequire

于 2013-01-22T16:51:10.227 回答