012 重构用户名(第三部分)

简介:
In the final part of this series you will see how to refactor your tests. Keeping tests clean is important because it will make testing easier to do in the future.
 
在重构用户名系列的最后一节,我们介绍如何重构测试。保持测试整洁是非常重要的,因为这样会使得将来的测试更加的简单。
 
上节用过的测试代码:
 
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     
 
很明显,重复的地方很多。
 
重构:
 
require File.dirname(__FILE__) + '/../test_helper'      
     
class UserTest < Test::Unit::TestCase      
  fixtures :users      
     
  def test_full_name   
    assert_equal 'John Doe', get_full_name('John', nil, 'Doe'), "nil middle initial"  
    assert_equal 'John H. Doe', get_full_name('John', 'H', 'Doe'), "H middle initial"  
    assert_equal 'John Doe', get_full_name('John', '', 'Doe'), "blank middle initial"  
  end   
  
  def get_full_name(first, middle, last)   
    User.new(:first_name => first, :middile_initial => middle, :last_name => last).full_name   
  end   
end  
 




本文转自 fsjoy1983 51CTO博客,原文链接:http://blog.51cto.com/fsjoy/131607,如需转载请自行联系原作者
目录
相关文章
ly~
|
2月前
|
存储 安全 生物认证
如何防止密码重用?
本文介绍了防止密码重用的综合措施,包括用户教育与意识提升、技术手段支持和系统设计与策略引导。通过定期的安全培训、安全提示与宣传,增强用户的安全意识;推荐使用密码管理器和账户关联检测技术,帮助用户管理复杂密码;实施多因素身份验证和密码强度检查,确保系统的安全性。
ly~
38 5
|
3月前
|
前端开发 数据安全/隐私保护
react antd 实现修改密码(原密码,新密码,再次输入新密码,新密码增加正则复杂度校验)
文章介绍了如何在React项目中使用Ant Design实现一个修改密码的组件,包括原密码、新密码和再次输入新密码的表单项,并为新密码增加了正则表达式复杂度校验。
79 0
react antd 实现修改密码(原密码,新密码,再次输入新密码,新密码增加正则复杂度校验)
软件开发必备流程,用户名设置为唯一,Navicate如何将user设置为唯一,开发前一定要先设置,要不改不好改,alt + enter快速创建方法
软件开发必备流程,用户名设置为唯一,Navicate如何将user设置为唯一,开发前一定要先设置,要不改不好改,alt + enter快速创建方法
|
数据库
【JavaWeb】用户名校验案例
【JavaWeb】用户名校验案例
|
安全 Java 数据安全/隐私保护
案例之密码模式测试|学习笔记
快速学习案例之密码模式测试
案例之密码模式测试|学习笔记
|
数据安全/隐私保护 C++
C/C++编程题之密码验证合格程序
C/C++编程题之密码验证合格程序
|
JavaScript 前端开发 数据安全/隐私保护
前端案例:简易登录表单的制作,包括用户名、密码、随机验证码(代码完整,复制即用)
前端案例:简易登录表单的制作,包括用户名、密码、随机验证码(代码完整,复制即用)
536 0
前端案例:简易登录表单的制作,包括用户名、密码、随机验证码(代码完整,复制即用)
|
存储 前端开发 安全
登录重构小记
登录重构小记
135 0
登录重构小记
|
前端开发
前端工作小结73-进行输入成功后验证
前端工作小结73-进行输入成功后验证
68 0