#12
Mar 30, 2007

Refactoring User Name Part 3

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.
Download (9.8 MB, 4:03)
alternative download for iPod & Apple TV (6.4 MB, 4:03)
# 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

RSS Feed for Episode Comments 4 comments

1. Michael Jun 30, 2007 at 18:00

I like how you showed the process of refactoring in this series, but I wouldn't recommend multiple assertions in one controller.

See http://blog.jayfields.com/2007/06/testing-one-assertion-per-test.html


2. Tomek Apr 05, 2008 at 01:51

Yes, I agree. Multiple assertion is a bad practice since only the first assertion gets called if code changes alter behavior.


3. Faktura Jun 15, 2008 at 00:33

Very good cast!


4. Urzad Aug 15, 2008 at 02:04

Nice cast!

Add your comment:

(SKIP THIS ONE)

(required)

(not shown)


(use pastie or gist for code)

sponsored by:
if you want to help:
required:
Get Quicktime Player