代码之家  ›  专栏  ›  技术社区  ›  Grant Crofton

哪些测试工具在Ruby中做什么?

  •  2
  • Grant Crofton  · 技术社区  · 14 年前

    我的意思是,哪些工具用于单元测试,哪些工具用于BDD,有没有明确的划分?

    我只是从C#学习Ruby,我熟悉的工具有用于纯单元测试/TDD的xUnit风格,以及用于BDD/集成测试的Cucumber/SpecFlow。当然,如果愿意,可以使用单元测试工具进行集成测试。

    我在Ruby中遇到的主要测试工具是Test::Unit、RSpec和Cucumber(显然还有很多,但它们似乎是最流行的,因此可能是一个很好的开始)。

    我不是在寻找一个很长的工具列表-如果有一个主要的竞争者我错过了那么请告诉我,但我宁愿在这个阶段保持简单,而不是开始使用'工具Z测试与图书馆X扩展运行在MegaChode平台'或任何东西。毕竟,我只是一个可怜的迷茫的.Net家伙!

    为了让您了解我的来历,我认为您可以使用BDD工具编写更多功能性的、可测试的规范(业务人员可能理解),然后在实现Cuke(或其他)所需的功能时,使用单元测试工具进行低级别的、以开发人员为中心的TDD。

    在Ruby中,有没有一种被普遍接受的方法来做这些事情,或者我需要忘记这样一个疯狂的想法,使用任何似乎可以完成这项工作的东西?

    干杯,

    2 回复  |  直到 14 年前
        1
  •  4
  •   ryw    14 年前

    我认为大多数rubyist已经标准化了RSpec而不是Test::Unit来进行测试。如果你在做Rails应用程序,有rspecRails,然后你可以在上面分层。

    拿一本Rspec的书@ http://www.pragprog.com/titles/achbd/the-rspec-book

        2
  •  0
  •   zhon    8 年前

    MiniTest 单元测试 样式测试接口(能够将它们组合在同一个文件中)。

    从Ruby2.2开始,它就成为标准宝石的一部分。

    两者都可以包含在同一个文件中,这使得在样式或其他测试工具(如 RSpec公司 测试::单位

    require 'minitest/autorun'
    
    describe Math do
      describe 'addition' do
        it '1+1=2' do
          (1+1).must_equal 2
        end
      end
    end
    
    class MathTest < Minitest::Test
      def test_1_plus_1_equal_2
        assert_equal 2, 1+1
      end
    end
    

    MiniTest rr )