• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > Ruby单元测试框架TestUnit的替代者MiniTest介绍

Ruby单元测试框架TestUnit的替代者MiniTest介绍

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了testunit,ruby,ruby rose,ruby什么意思,max and ruby等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

MiniTest 是新一代的 Ruby 测试框架,它已经成为 Ruby 1.9 的内置测试框架,据说它也将成为Rails 4的默认测试框架,可谓前途一片光明。

MiniTest 为什么成为最新 Ruby 和 Rails 的首选,它有哪些吸引人的东西呢?

Ruby 1.8时代,Ruby 和 Rails 的默认测试框架都是 TestUnit,TestUnit 历史悠久,它最大的问题是太慢,太臃肿了,它包含了一堆现在很少使用的第三方库,比如GTk v1, GTk v2, FxRuby,另外一个大问题的是它缺乏一些基本的测试特性,比如 spec DSL的测试风格,比如 mock 支持等等。

MiniTest 相当于对 TestUnit 做了一次大的重构翻新,它继承了 TestUnit 大部分用法,消除 TestUnit 中不恰当的依赖,另外增加了基本的测试特性,比如 spec 和 mock等,整体上变得相当快速,简单整洁。

在 Ruby 和 Rails 的世界,有一个测试框架 Rspec 使用也是非常广泛的,甚至目前使用广泛程度超过 TestUnit 和 MiniTest,它为什么没有成为默认框架呢?我想 MiniTest 相对于 Rspec 最大的优势是简单和延续性,Rspec 相比 MiniTest 要庞大复杂得多,当然功能也更强大,对于内置 Ruby 的类库来说,还是简单和保持延续(相对 TestUnit)更有优势。对于 Rails 来说,Rails 之父 DHH 和 Rspec 一直对不上眼,我想是 Rails 最终选择 MiniTest 最大的原因,哈哈。

MiniTest 使用示例

如果你用过 TestUnit,MiniTest 使用非常简单,下面是一个测试的 Hello World
class HelloWold
  def get_word
    "Hello World!"
  end
end
</div>

测试代码

require 'minitest/autorun'

class HelloWoldTest < MiniTest::Unit::TestCase
  def test_get_word
    assert_equal "Hello World!", HelloWold.new.get_word
  end
end
</div>

测试代码, spec风格

require 'minitest/autorun'

describe HelloWold do
  it "should return hello world" do
    HelloWold.new.get_word.must_equal "Hello World!"
  end
end
</div>

如果要在 Rails 项目使用 MiniTest,可以使用 gem minitest-rails,使用 minitest-rails 之后,rails generator 生成的 test 就都转换为 minitest 风格代码。

总结

MiniTest 相当简单快速,它延续 TestUnit用法,上手非常快,同时它又提供了一些非常棒的特性,试用下来觉得非常不错,难怪它成为最新 Ruby 和 Rails 的首选,我打算今后就用它了。

</div>

您可能想查找下面的文章:

  • Ruby单元测试框架TestUnit的替代者MiniTest介绍

相关文章

  • Ruby设计模式编程中使用Builder建造者模式的实例
  • Ruby 魔法 学习笔记之一
  • Ruby 中一些百分号(%)的用法小结
  • 使用rbenv来管理Ruby版本的方法
  • Ruby的字符串与数组求最大值的相关问题讨论
  • 详解Ruby中范围的概念
  • rails创建应用程序实例
  • Java 版的 Ruby 解释器 JRuby 1.7.14 发布
  • Ruby的面向对象编程的基础教程
  • Ruby中访问SQL Server数据库的配置实例

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • ruby元编程之method_missing的一个使用细节
    • ruby执行周期性任务的三种gem介绍
    • Ruby中编写类与模块的风格指南
    • ruby 迭代器使用方法
    • 快速安装Ruby on Rails的简明指南
    • Ruby学习笔记二帮助生成Vim添加代码头的代码
    • windows下安装ruby与rails时遇到的问题总结
    • Ruby数组(Array)学习笔记
    • 使用Ruby实现简单的事物驱动的web应用的教程
    • 进一步深入Ruby中的类与对象概念

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有