2

我正在尝试从 Sublime Text 3 运行示例测试套件。

这是我使用创建的示例bundle gem foo -t minitest

class TestFoo < MiniTest::Unit::TestCase
  def test_that_it_has_a_version_number_test
    refute_nil ::Foo::VERSION
  end

  def test_it_does_something_useful_test
    assert true
  end
end

我已经安装了 RubyTest 包,运行测试套件的绑定是Ctrl + Shift + T

我收到以下错误:

/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1: Invalid char `\x7F' in expression
/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1: Invalid char `\x02' in expression
/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1: Invalid char `\x01' in expression
/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1: Invalid char `\x01' in expression
/home/thetuxracer/.rvm/rubies/ruby-2.0.0-p247/bin/ruby:1:in `<main>': uninitialized constant ELF (NameError)
[Finished in 0.3s with exit code 1]

观察

我已经使用 rvm 安装了 ruby​​ 2.0.0p247。如果我从 CLI 运行测试,使用

ruby -Itest foo_test.rb测试运行良好。

我还确保check_for_rvmRubyTest.sublime-settings 中的键设置为true

这里似乎有什么问题?如果有更多信息需要您帮助我,请告诉我。

编辑:我在带有 ST3 和 ruby​​ 2.0.0p247 的 Mac Os X 10.8.4 上试过这个。在 Rakefile 中,我还在 RakeTask 中添加了这一行t.test_files = FileList['test/test_*.rb']

我查看了这个错误并从快捷方式启动了 ST。但测试仍然没有运行。

4

2 回答 2

1

这个问题来看,它可能与您的捆绑程序生成的 binstubs 有关。

查看RVM 文档,您可能想尝试运行:

gem regenerate_binstubs

或者:

bundle install --binstubs

如果在那之后您仍然有问题,我会尝试完全删除 binstubs。可以在此处找到执行此操作的说明。

于 2013-09-05T01:08:20.543 回答
0

我尝试了一切,从更改运行 minitest 的现有项目中的配置,到重新安装 ST3 包,再到重新安装 ruby​​ 本身作为最后的手段。事实证明,问题要小得多

当我执行此命令时bundle foo -t minitest,将创建以下文件:

bundle gem foo -t minitest
      create  foo/Gemfile
      create  foo/Rakefile
      create  foo/LICENSE.txt
      create  foo/README.md
      create  foo/.gitignore
      create  foo/foo.gemspec
      create  foo/lib/foo.rb
      create  foo/lib/foo/version.rb
      create  foo/test/minitest_helper.rb
      create  **foo/test/test_foo.rb**
      create  foo/.travis.yml

注意包含测试用例的文件的名称。我将它重命名为foo_test,它只是工作。

我现在需要弄清楚为什么 minitest 需要特定格式的文件名,如果可能的话,更改/编辑它。

于 2013-09-06T03:56:11.597 回答