require File.dirname(__FILE__) + '/../test_helper'
class UserTest < Test::Unit::TestCase
fixtures :users
def test_full_name_without_middle_initial
user = User.new(:first_name => 'John', :last_name => 'Doe')
assert_equal 'John Doe', user.full_name
end
def test_full_name_with_middle_initial
user = User.new(:first_name => 'John', :middle_initial => 'H', :last_name => 'Doe')
assert_equal 'John H. Doe', user.full_name
end
def test_full_name_with_blank_middle_initial
user = User.new(:first_name => 'John', :middle_initial => '', :last_name => 'Doe')
assert_equal 'John Doe', user.full_name
end
end
这是011中的单元测试代码,是不是很复杂冗长,好吧,让我们来重构一下
# user_test.rb
def test_full_name
assert_equal 'John Doe', full_name('John', nil, 'Doe'), "nil middle initial"
assert_equal 'John H. Doe', full_name('John', 'H', 'Doe'), "H middle initial"
assert_equal 'John Doe', full_name('John', '', 'Doe'), "blank middle initial"
end
def full_name(first, middle, last)
User.new(:first_name => first, :middle_initial => middle, :last_name => last).full_name
end
代码是清晰多了,但有人提出来testing one assertion per test
详见:
http://blog.jayfields.com/2007/06/testing-one-assertion-per-test.html
分享到:
相关推荐
用于信号的EMD、EEMD、VMD分解_vmd重构_故障诊断emd_故障诊断_故障重构_VMD信号重构_源码.rar.rar
对经验模态分解后的各分量IMF进行重构代码,函数可直接调用。
1. 创建 Issue - 对于较大的改动(如新功能,大型重构等)最好先开issue讨论一下,较小的improvement(如文档改进,bugfix等)直接发P
牛顿拉普逊法就算配电网重构的潮流程序,结构清晰易懂。
资源名:用于信号的EMD、EEMD、VMD分解_vmd重构_故障诊断emd_故障诊断_故障重构_VMD信号重构 资源类型:matlab项目全套源码 源码介绍:用于信号的分解、降噪和重构,实现故障诊断 源码说明: 全部项目源码都是经过...
生成changelogchangelog介绍go生成changelog如何生成根据git提交commit历史生成changelog提交格式- docs:文档(d
利用拉普拉斯先验的压缩感知稀疏重构的贝叶斯方法,具有较好的计算精度
对图像做小波分解和重构,并对重构后的图像与原始图像进行了对比,计算了重构与原始图像的误差
重构——改善既有代码设计,经典文档,架构师必须教程
不同信号稀疏度K下,信号重构概率程序(信号长度N:1-400,M0-300)
医学图像三维重构平台,实现了三维重构用VC++实现
数据库重构.part3数据库重构.part3数据库重构.part3数据库重构.part3
压缩传感重构算法中的子空间追踪算法,用于信号的重构
本程序实现Lena图像的压缩传感,测量矩阵为哈达玛测量矩阵,重构算法采用OMP重构算法
一个对于一维正弦信号的压缩感知恢复算法(正交匹配追踪发)的matlab程序,并绘出恢复图像对比原始图像,且计算出重构误差
omp重构算法程序,压缩感知重构算法,包含测试程序
相空间重构函数,可以直接用于时间序列重构,是混沌方法的基础
用作相空间重构分析的Lorenz 时间序列
对轴承故障信号进行小波包分解,重构能量最大的频段信号,并对该重构信号计算样本熵
基于fanbeam变换的图像重构算法,教科书上的例子,希望对大家学习有帮助