CSC/ECE 517 Fall 2011/ch2 2e kt: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 21: | Line 21: | ||
== Framework Matrix == | |||
{| class="wikitable" style="font-size: 100%; text-align: left; width: auto;" | |||
|- | |||
! Framework | |||
! Website | |||
! Documentation | |||
! IDE Integration | |||
! Type | |||
! Ease of Use | |||
|- | |||
| ''' Unit::Test''' | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|- | |||
| ''' MiniTest::Unit ''' | |||
| | |||
| | |||
| | |||
| | |||
| | |||
|} | |||
== Demo Code == | == Demo Code == | ||
Revision as of 16:11, 17 September 2011
Overview
TDD vs BDD
Ruby Testing Frameworks
Test::Unit KH
MiniTest::Unit TG
RSpec KH
Shoulda TG
Cucumber TG
Criteria
- IDE integration
- Test output detail
- Testing constructs available
- TDD or BDD
- Documentation
- Learning curve and ease of use
Framework Matrix
| Framework | Website | Documentation | IDE Integration | Type | Ease of Use |
|---|---|---|---|---|---|
| Unit::Test | |||||
| MiniTest::Unit |
Demo Code
class Account
@balance
@name
attr_accessor :balance
attr_accessor :name
def initialize(amount)
@balance = amount
end
def deposit(amount)
@balance += amount
end
def addinterest(rate)
@balance *= (1 + rate)
end
def withdrawal(amount)
@balance -= amount
end
end
Test::Unit
require "test/unit"
require_relative("../Account.rb")
class AccountTest < Test::Unit::TestCase
def test_balance
a = Account.new(100)
assert_equal(100, a.balance())
end
def test_deposit
a = Account.new(100)
assert_equal(200, a.deposit(100))
end
def test_withdrawal
a = Account.new(100)
assert_equal(50, a.withdrawal(50))
end
def test_name
a = Account.new(100)
a.name = "Checking"
assert_not_nil(a.name())
end
def test_interest
a = Account.new(100)
assert_equal(a.addinterest(0.5), 150)
end
def test_fail
a = Account.new(100)
assert_equal(a.balance(), 200)
end
end
References
[1] http://ruby-toolbox.com/categories/testing_frameworks.html