在Sinatra应用程序的机架单元测试中访问't'(来自r18n)

时间:2012-09-09 00:52:28

标签: unit-testing internationalization sinatra

使用sinatra-r18n处理国际化时,r18n lib会根据these instructions公开变量t,以便在您的帮助程序,路由和模板中使用。

我使用rack-unit编写了一个简单的单元测试,以确认我的某些复数有效,但测试会引发错误,声称t为零。

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

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

1 个答案:

答案 0 :(得分:1)

我有类似的任务来检查我的Cucumber场景中的本地化字符串。 我做了working exampleHere你可以找到如何翻译字符串。 This file停止了解如何向测试框架添加R18n支持:

require 'r18n-core'
...

class SinCucR18nWorld
  ...
  include R18n::Helpers
end

正如你所看到的那样,而不是机架/单元,我正在使用RSpec / Cucumber,抱歉。