2

sinatra-r18n用于处理国际化时,r18nlib 会根据这些说明t公开一个变量以在您的助手、路由和模板中使用。

我编写了一个简单的单元测试,rack-unit用于确认我的一些复数形式有效,但测试抛出一个错误,声称t是 nil。

我尝试通过app.t, MySillyApp.t(其中 MySillyApp 是我的 Sinatra 应用程序的名称)MySillyApp.settings.t等引用它,但它们都没有让我访问t我需要的。

我想要实现的是确认我的翻译文件包含我需要的所有键,这些键对应于我的应用程序需要理解的各种度量单位的复数。也许有一种更直接的测试方法,无需通过 Sinatra 应用程序本身。我欢迎任何见解。

4

1 回答 1

1

我有类似的任务来检查我的 Cucumber 场景中的本地化字符串。我已经做了工作示例在这里你可以找到字符串是如何被翻译的。 该文件无法理解如何将 R18n 支持添加到您的测试框架:

require 'r18n-core'
...

class SinCucR18nWorld
  ...
  include R18n::Helpers
end

如您所见,我使用的是 RSpec/Cucumber,而不是机架/单元,抱歉。

于 2012-11-10T14:10:33.567 回答