• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • (二)跨越邊界: 在集成框架中進行測試-在 Ruby on Rails 中進行單元測試

    發表于:2009-04-02來源:作者:點擊數: 標簽:框架單元rubyRubyRAILS
    在由兩篇文章組成的這一系列的 第 1 部分 中,介紹了如何用 Ruby on Rails 進行 單元測試 ,并展示了如何利用這種方式的某些方面改進 Java 的單元測試。Java 開發 人員對更高級測試的選擇更加有限。在這篇文章中,將繼續研究 Rails,體會用于 功能測試 和 集
    在由兩篇文章組成的這一系列的 第 1 部分 中,介紹了如何用 Ruby on Rails 進行單元測試,并展示了如何利用這種方式的某些方面改進 Java™ 的單元測試。Java 開發人員對更高級測試的選擇更加有限。在這篇文章中,將繼續研究 Rails,體會用于功能測試集成測試的集成框架的優勢。


    超越單元測試的擴展

      在這由兩部分組成的迷你系列的 第 1 部分 中,了解了如何用動態語言促進單元測試。本文將展示集成環境在功能測試和集成測試中的優勢。單元測試包括對小的代碼片斷(例如方法)的測試,而且經常要把它們與周圍的元素隔離開。功能測試和集成測試所測試的應用程序部分越來越多。功能測試用于測試單一特性(通常涉及一個接口)、執行任務的業務代碼,以及與中間件服務交互的代碼(例如數據庫)。集成測試用于測試應用程序的多個不同特性。(功能測試在不太嚴謹的情況下通常也被稱為集成測試。)

      Java 開發人員在解決單元測試問題上已經獲得了令人注目的成果,但在集成測試上則沒有帶來太多令人興奮的消息。多數 Java 測試框架(如 JUnit 或 TestNG)主要側重于單元測試。Java 編程中缺乏集成測試框架的一個原因是缺乏集中的架構或開發哲學。在后面的小節中,我將繼續使用 Ruby on Rails 示例,這次的重點放在功能測試和新的 Rails 集成測試框架上。您將看到,在使用集成測試框架時,進行測試要容易得多。

    運行測試

      如果還沒有閱讀 第 1 部分,那么請先閱讀它。然后,如果想跟隨這篇文章一起編寫代碼,那么請確保您已經獲得一個可工作的 Rails 應用程序。在第 1 部分中,實現了一個簡單的單元測試和幾個 fixture。如果您跟隨第 1 部分一起編寫了代碼,但是記不清是否使應用程序處于工作狀態,那么您可以利用測試用例,先切換到項目目錄,然后運行 rake 即可。清單 1 顯示了我的結果:


    清單 1. 用 rake 運行所有測試

    > bruce-tates-computer:~/rails/trails batate$ rake
    (in /Users/batate/rails/trails)
    /usr/local/ror/bin/ruby -Ilib:test
       "/usr/local/ror/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake/rake_test_loader.rb"
       "test/functional/trails_controller_test.rb"
    Loaded suite /usr/local/ror/lib/ruby/gems/1.8/gems/rake-0.7.0/lib/rake/rake_test_loader
    Started
    EEEEEEEEEEEEEEEE
    Finished in 0.070797 seconds.

      1) Error:
    test_create(TrailsControllerTest):
    Errno::ENOENT: No such file or directory - /tmp/mysql.sock
        /usr/local/ror/lib/ruby/gems/1.8/gems/activerecord-1.14.0/
          lib/active_record/vendor/mysql.rb:104:in 'initialize'
        /usr/local/ror/lib/ruby/gems/1.8/gems/activerecord-1.14.0/
          lib/active_record/vendor/mysql.rb:104:in 'real_connect'
        /usr/local/ror/lib/ruby/gems/1.8/gems/activerecord-1.14.0/
          lib/  active_record/connection_adapters/mysql_adapter.rb:331:in 'connect'
       
       
    .

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>