⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 06 - writing unit tests.rb

📁 O Reilly Ruby Cookbook source code
💻 RB
字号:
# app/person.rbclass Person  attr_accessor :first_name, :last_name, :age  def initialize(first_name, last_name, age)    raise ArgumentError, "Invalid age: #{age}" unless age > 0    @first_name, @last_name, @age = first_name, last_name, age  end  def full_name    first_name + ' ' + last_name  endend#---# test/person_test.rbrequire File.join(File.dirname(__FILE__), '..', 'app', 'person')require 'test/unit'#---class PersonTest < Test::Unit::TestCase  def test_first_name    person = Person.new('Nathaniel', 'Talbott', 25)    assert_equal 'Nathaniel', person.first_name   end  def test_last_name    person = Person.new('Nathaniel', 'Talbott', 25)    assert_equal 'Talbott', person.last_name   end  def test_full_name    person = Person.new('Nathaniel', 'Talbott', 25)    assert_equal 'Nathaniel Talbott', person.full_name  end  def test_age    person = Person.new('Nathaniel', 'Talbott', 25)    assert_equal 25, person.age    assert_raise(ArgumentError) { Person.new('Nathaniel', 'Talbott', -4) }    assert_raise(ArgumentError) { Person.new('Nathaniel', 'Talbott', 'four') }  endend#---$ ruby test/person_test.rb Loaded suite test/person_testStarted....Finished in 0.008837 seconds.4 tests, 6 assertions, 0 failures, 0 errors#---# person_test.rbrequire File.join(File.dirname(__FILE__), '..', 'app', 'person')require 'test/unit'class PersonTest < Test::Unit::TestCase  FIRST_NAME, LAST_NAME, AGE = 'Nathaniel', 'Talbott', 25  def setup    @person = Person.new(FIRST_NAME, LAST_NAME, AGE)  end  def test_first_name    assert_equal FIRST_NAME, @person.first_name  end  def test_last_name    assert_equal LAST_NAME,  @person.last_name  end  def test_full_name    assert_equal FIRST_NAME + ' ' + LAST_NAME, @person.full_name  end  def test_age    assert_equal 25, @person.age    assert_raise(ArgumentError) { Person.new(FIRST_NAME, LAST_NAME, -4) }    assert_raise(ArgumentError) { Person.new(FIRST_NAME, LAST_NAME, 'four') }  endend#---def test_first_name  assert(FIRST_NAME == @person.first_name)end#---def assert_equal(expected, actual)  assert(expected == actual)end#---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -