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

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

  • <strong id="5koa6"></strong>
  • 淺析數據庫程序的單元測試[2]

    發表于:2010-04-19來源:作者:點擊數: 標簽:數據庫單元程序淺析
    淺析數據庫程序的 單元測試 [2] 軟件測試 public class TestUserDatabase extends TestCase { ... public void testInsert() { // Insert a test user: User user = new User("some@email.address"); UserDatabase database = new UserDatabase(); database.

      淺析數據庫程序的單元測試[2]   軟件測試

      public class TestUserDatabase extends TestCase

      {

      ...

      public void testInsert()

      {

      // Insert a test user:

      User user = new User("some@email.address");

      UserDatabase database = new UserDatabase();

      database.insert(user);

      // Make sure the data really got there:

      User db_user = database.find("some@email.address");

      assertTrue("Expected non-null result",

      db_user != null);

      assertEquals("Wrong email",

      "some@email.address", db_user.getEmail());

      assertEquals("Wrong bad flag", false, db_user.isBad());

      }

      ...

      }

      可能你還有更多測試代碼。(注意一些測試,例如對date類的測試)。

      assertTrue和assertEquals方法進行條件測試。如果測試失敗,他們將返回診斷消息。其重點是這些測試都基于一個測試框架自動執行,并給出測試成敗的標志。這些測試都基于用java語言編寫的測試框架Junit類(程序附后)。這一框架也能適應其他諸如C, C++, Perl, Python, .NET (all languages), PL/SQL, Eiffel, Delphi, VB等語言環境。

      下一個問題就是:我們有測試,但我們怎樣保證測試數據和實際數據能嚴格區分?

      不同的鑒別方法

      在開始之前,我必須指出你最好有一個測試用的數據庫,你可能更想在非正式的數據庫中實踐我講的東西。

      第一種方法是手工在數據庫中輸入一些預先知道的測試性數據,例如在郵件地址中輸入“testuser01@test.testing”。如果你正在測試數據庫的查詢功能,你能預先知道,比如說有五個,數據庫記錄是以“@test.testing”結尾的。

      由以上方式插入的數據必須由測試本身進行必要的維護。例如,測試必須負責刪除所建立的測試數據,而避免對實際數據進行操作,從而保證整個數據庫處于完好狀態。

      這種方法還是存在以下問題:

      你不得不和其他編程人員進行數據協調——假設他們也有他們自己的測試數據庫。

      在數據庫中有些特殊的數據并不正確,如一些特別的郵件地址和被保留餓編號前綴。

    原文轉自: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>