<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>

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

            發(fā)表于:2008-07-01來(lái)源:作者:點(diǎn)擊數: 標簽:數據庫單元程序淺析
            關(guān)鍵字: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 d
            關(guān)鍵字: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類(lèi)的測試)。

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

              下一個(gè)問(wèn)題就是:我們有測試,但我們怎樣保證測試數據和實(shí)際數據能?chē)栏駞^分?

              不同的鑒別方法

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

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

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

              這種方法還是存在以下問(wèn)題:

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

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

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

            ...
            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>