【问题标题】:What is the state of the art/best practice for implementing ruby rake test for gems?为宝石实施 ruby​​ rake 测试的最新技术/最佳实践是什么?
【发布时间】:2011-12-09 22:30:47
【问题描述】:

我想要一些关于编写 ruby​​ 测试并从 rake for a gem 中调用它们的最新技术的指导。我一直在互联网上阅读并查看代码,但已经看到了很多方法。使用 rake 实现单元测试的主要方法是什么?

注意:我将 ruby​​-1.9.2-p290 与 rvm 和更新版本一起使用。

【问题讨论】:

    标签: ruby unit-testing testing gem rake


    【解决方案1】:

    您可以使用一些同样流行的 ruby​​ 库来测试您的 gem。 Test UnitRspec 是更受欢迎的选择。

    你选择哪个测试库并不重要,只要它易于设置和使用,所以选择最适合你的。

    通常的做法是让不带任何参数的 rake 命令为您的 gem 运行测试套件。您可以在 Rakefile 中添加一个“默认”任务来实现这一点,例如:

    task :default => [:test]
    # or
    task :default => [:spec]
    

    还要确保在 README 中包含让您的测试套件运行所需的任何设置。

    【讨论】:

    • 感谢您的澄清。现在把所有的子测试都拉进来怎么样?我见过sh "ruby test/basic_test.rb" 的代码,我觉得这很令人困惑。现在我正在使用类似 desc 'Run tests (default)' Rake::TestTask.new(:test) do |t| t.test_files = FileList['test/*_test.rb'] t.ruby_opts = ['-Itest'] t.ruby_opts << '-rubygems' if defined? Gem end 的东西,我认为没问题?
    • 不太清楚您所说的子测试是什么意思,也许您可​​以详细说明一下?如果您正在谈论对其他 gem 的测试,那么您不应该测试它们,gem 作者应该为您这样做。那个默认的 rake 任务看起来不错:)
    • 我的意思是单个测试用例,.t 文件如何将它们连接到 rake 文件。它怎么知道要执行哪些。
    猜你喜欢
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    相关资源
    最近更新 更多