Ruby/Unit Test/assert
Материал из Wiki.crossplatform.ru
(Различия между версиями)
ViGOur (Обсуждение | вклад) м (1 версия: Импорт выборки материалов по Ruby) |
Текущая версия на 17:55, 13 сентября 2010
add an assertion to test_basic that"s certainly going to fail
require "test/unit" class String def titleize self.gsub(/\s(\w)/) { |letter| letter.upcase }.gsub(/^\w/) do |letter| letter.upcase end end end def test_words assert_equal("Let"s make a test fail!", "foo".titleize) end
assert(<boolean expression>): Only passes if the boolean expression isn"t false or nil (for example, assert 2 == 1 will always fail).
require "test/unit" class String def titleize self.gsub(/\s(\w)/) { |letter| letter.upcase }.gsub(/^\w/) do |letter| letter.upcase end end end def test_words assert("Let"s make a test fail!", "foo".titleize) end
assert_equal(expected, actual): Only passes if the expected and actual values are equal (as compared with the == operator). assert_equal("A", "a".upcase) will pass.
require "test/unit" class String def titleize self.gsub(/\s(\w)/) { |letter| letter.upcase }.gsub(/^\w/) do |letter| letter.upcase end end end def test_words assert_equal("Let"s make a test fail!", "foo".titleize) end
assert_not_equal(expected, actual): The opposite of assert_equal. This test will fail if the expected and actual values are equal.
require "test/unit" class String def titleize self.gsub(/\s(\w)/) { |letter| letter.upcase }.gsub(/^\w/) do |letter| letter.upcase end end end def test_words assert_not_equal("Let"s make a test fail!", "foo".titleize) end
Testing Word Separation
require "test/unit" class String def words scan(/\w[\w\"\-]*/) end end def test_words assert_equal(%w{this is a test}, "this is a test".words) assert_equal(%w{these are mostly words}, "these are, mostly, words".words) end