RUBY TEST:: UNIT問題回顧

最近研究RUBY TEST UNIT,心頭癢,畢竟這個東西之前接觸不多,於是在網上搜索了一把(哈哈,求快,在網上找現成的代碼,可以少走很多冤枉路),發現瞭如下的代碼

require  'test/unit'
require  'test/unit/ui/console/testrunner'


class MyFriend < Test::Unit::TestCase
  def setup
    @friends = ['dell', 'apple', 'sony']
  end

  def teardown
  end

  def test_add
    assert_instance_of(Array, @friends, "The @friends must be Array")

    assert_equal(3, @friends.size, "The size is not 3")

    @friends << 'acer'
    assert_equal(4, @friends.size, "The size is not 4")
  end

  def test_remove
    assert_equal(3, @friends.size, "The size is not 3")

    @friends.delete_if {|n| n == 'apple'}
    assert_equal(2, @friends.size, "The size is not 2")
  end
end

Test::Unit::UI::Console::TestRunner.run(MyFriend)

查到之後,當然是萬分的高興,畢竟連TEST UNIT是什麼都還不清楚,如果到NETBEANS上運行了一把,陽光立刻的小時,蔭藐隨之而來;

是的,報錯了,報的是“no such file to load -- test/unit/ui/console/testrunner (LoadError)”NOT  FOUND,NOT FOUND?那肯定對應的類庫沒安裝上了,到RUBY目錄的LIB下一查,確實Test::Unit下根本沒有UI的目錄,好了,問題找到了,不用多說立刻GOOGLE。經過2天的折磨(實在的慚愧,搜索的功力太差了),最後在rubyforge.org中找到了對應的辦法,只需要使用如下安裝命令“gem install test-unit-full”直接把TEST UNIT相關的類包一次打上,哈哈,類包有了一切都解決了吧,可惜,依然報錯,跟之前的錯一樣,爲什麼呢?仔細一看,在NETBEANS調用類包,居然無增加上“require  'rubygems'”,接着加上;居然還是報如下的問題“`<module:Console>': uninitialized constant Test::Unit::UI::Console::Diff (NameError)”,,人生多折磨,哎,只得細細的查看rubyforge.org的使用說明,一查看,還真發現了欠缺了“gem "test-unit"”,加上重新運行之後,一切搞定

(這裏需要注意,由於RUBY版本的不一致,1.8版本與1.9版本在TEST UNIT上有些不一樣)

結果出來了:

Finished in 0.171875 seconds.

2 tests, 5 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed

11.64 tests/s, 29.09 assertions/s

發佈了6 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章