Sublime Text 2 Ruby Test未显示任何结果

时间:2013-01-04 18:52:06

标签: ruby-on-rails sublimetext2

我正在关注Ruby on Rails教程。在Sublime Text 2中测试RubyTest(CMD + Shift + R; CMD + Shift + T; CMD + Shift + E)时,没有任何显示。该窗口在我的文件下面打开,测试应该在那里,并且它表示" Building",然后是" Building"消失,什么都没有留下。没有测试,没有绿色,红色,没有。

我已按照描述添加了RubyTest,并按照概述从命令行打开。需要更多帮助进行故障排除。

使用OSX Lion,Ruby 1.9.3,Rails 3.2.10。 My Guard和Spork测试都很好。我的RubyTest设置是RubyTest.sublime-settings

任何想法或地点开始?我对此很陌生,但该死的固执,所以我想解决,因为反对只是"继续前进"。提前致谢。

1 个答案:

答案 0 :(得分:0)

我想我可能有适合您的解决方案,因为我遇到了同样的问题并解决了它。

首先,通过深入了解Sublime Text 2控制台("Building..."),找出导致RubyTest View > Show Console错误的原因。

这是我的控制台输出:

Running rspec spec/requests/static_pages_spec.rb -l15
Traceback (most recent call last):
  File "./sublime_plugin.py", line 337, in run_
  File "./exec.py", line 154, in run
  File "./exec.py", line 45, in __init__
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 72: ordinal not in range(128)
reloading /Users/Jonathan/Library/Application Support/Sublime Text 2/Packages/User/RubyTest.last-run

here获取,结果是ST2尝试评估所有shell表达式。

在同一个链接中,以下是我修复它的方法:从第45行的Library > Application Support > Sublime Text 2 > Packages > Default循环开始,转到exec.py并修改for

for k, v in proc_env.iteritems():
    path_vars = os.path.expandvars(v)
    if isinstance(path_vars, unicode):
        path_vars = path_vars.encode(sys.getfilesystemencoding())
        proc_env[k] = path_vars

希望这能解决你的问题!