2012-02-24 17 views
0

有產生了一些存儲過程 - 讓我們說50,即呈現爲與作爲文本的數字上面。當用戶點擊該數字時,彈出窗口打開並調用一個不同的存儲過程,並在html表中顯示50行。 50行是用戶點擊的數字的分解。總之,兩種不同的aspx頁面和需要表現出同樣的量兩種不同的存儲過程,一個量的骨料和骨料的其他的分解。如何測試出現在不同頁面上的兩個數字?

問題,我該如何測試這個代碼,所以我知道,如果號碼不匹配,有錯誤的地方

注:這是一個簡單的例子,在現實中有頁面的錨標記上的數百個。

+0

取決於該類型的測試,你可以在隔離測試存儲過程,你可以測試數據retreival例程(這個難度取決於如何提煉你的數據例程,即IRepository使這個容易)。渲染行,好了,找你依賴於瀏覽器爲。有客戶端的測試套件,這將考驗整個過程(我相信這是一個叫旺旺,它但10分鐘谷歌搜索沒有生產力),但這是一個領域,米沒有經歷過HTH – SeanCocteau 2012-02-24 17:38:36

+0

@SeanCocteau - 我只使用ADO數據表。我需要比較兩個值,在哪裏做我不知道。我對測試呈現的輸出不感興趣,因爲我是兩個DataTable中的數據行數。 – 2012-02-24 17:50:39

回答

1

這種的測試不在標準/代碼級別測試範例之內。在這裏你明確地驗證了數據,聽起來你需要一個實用程序來實現這一點。

有大量的環境中做到這一點和辦法,你可以採取,但這裏有兩個可能的候選人

  • SQL Management Studio中:在這裏你可以生成一個簡單的腳本,可以通過從各種組合運行兩個存儲過程確保數字和行匹配。這將涉及一些創造性的T-SQL,但沒有特別的徵稅。這種方法的主要優點是您可以裸機訪問數據。

  • 單元測試:提到你的問題是有些外面的典型測試場景,你會oridnarily的數據和測試莫克到你的業務邏輯。然而,這並不意味着你不能寫測試(尤其是如果你正在做在此之前處理任何數據集操控看看這個linkthis one各種方法(注:如果您使用VS2008或以上,你得到的測試項目從專業版內置了)。

+0

所有的業務邏輯住在存儲過程中,我的DAL和BLL層的填充ADO DataTable對象只需返回databindable控制。我想這將意味着第一個子彈是要走的路。單元測試似乎太不足以處理這種類型的測試(其中輸入參數的值需要來自數據庫表)。你會同意嗎? – 2012-02-27 17:41:13

+0

從廣義上說,單元測試的原理可能不適用於此。這就是說,一個測試項目仍提供了足夠的發展/編譯朝着面向測試,所以沒有重大的理由,你爲什麼不能從那裏調用你的SP +,它比普通的舊T-SQL一個稍微好一點的編碼環境環境,但那只是我。 HTH – SeanCocteau 2012-02-28 09:04:59

0

爲了測試時會發生什麼號碼不相符,我會簡單地改變(臨時)存儲過程返回正確的數量+1,或總是返回零一個等

相關問題