23、Ruby编程中的测试与重构指南

Ruby编程中的测试与重构指南

1. 测试代码以确保其正常工作

在测试代码时,可使用枚举定义多个测试方法,以减少测试方法的重复,并保持代码局部性。示例代码如下:

describe Foo do
  {bar: Bar, baz: Baz, quux: Quux}.each do |meth, klass|
    it "should have #{meth} return a #{klass} instance" do
      _(Foo.new.send(meth)).must_be_kind_of(klass)
    end
  end
end

若测试规范中出现失败,测试库会报告失败的行,便于确定实际未按预期工作的部分,减少调试时间。

2. 理解不同层次的测试

Ruby 中有多种层次的测试,具体如下表所示:
| 测试层次 | 说明 |
| ---- | ---- |
| 单元测试 | 测试库中尽可能小的代码,如单个类中的单个方法,需模拟或存根方法的所有依赖。 |
| 模型测试 | 比单元测试层次高,测试对象的单个方法,但不模拟或存根方法的依赖。 |
| 集成测试 | 测试系统的所有部分能否协同工作,不进行任何模拟或存根,通常通过访问系统的最高部分获取预期结果。 |
| 验收测试 | 最高层次的测试,可自动化或手动进行。对于 Web 应用,手动验收测试可在浏览器中使用开发版本的应用并尝试不同功能;自动化验收测试则通过运行实际浏览器并以编程方式控制来模拟此过程。 |

单元测试

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值