新聞中心
學習.NET Framework 3.5時,經常會遇到LINQ進行查詢問題,這里將介紹LINQ進行查詢問題的解決方法。

成都創(chuàng)新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都做網站、成都網站制作、棗莊網絡推廣、小程序制作、棗莊網絡營銷、棗莊企業(yè)策劃、棗莊品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯公司為所有大學生創(chuàng)業(yè)者提供棗莊建站搭建服務,24小時服務熱線:028-86922220,官方網址:www.cdcxhl.com
.NET Framework 3.5中引入了一個新特性LINQ(集成語言查詢),據說.NET Framework 3.5中很多特性都是為LINQ而服務的,例如Lambda表達式的支持,匿名類型,等等……這篇文章會講述一個把Linq to Object應用于測試的例子。
前一陣子需要測試一個搜索在線會員的功能,如果一個用戶是在線的,那么他所能夠被搜索到的信息都會作為一條記錄,保存在一個表中,主要的字段有5 個,也就是根據這5個字段的信息可以查詢出用戶想要的在線會員。一個簡單的方案就是寫一個比較復雜的存儲過程,然后根據5個輸入來查詢出不同的結果,不過 DBA說在SQL SERVER中進行邏輯運算的性能不是很好,所以開發(fā)人員寫了12條存儲過程,分別對應不同的組合,那么對于我做集成測試來說,我起碼要有12個測試方法對應這12條存儲過程。同時我還要設計一定數量的測試數據,供我查詢測試,而比較要命的是,這些測試數據隨著我對這個功能的理解的深入,在不斷地增加,結果就是如果我寫第一個測試的時候,我準備的數據是30條,OK,測試通過; 等我寫到第五個測試的時候,測試數據可能有40條了,當我用這40條測試數據重新指向第一個測試的時候,FAILED!!!這讓人非常郁悶。所以我想到了能不能用round trip的方法來進行測試。做一個比喻,假如說我想證明WIN7的計算器程序是正確的,那么可以把相同的計算在WIN XP的計算器中跑一遍,如果兩者結果一樣,那么我可以認為WIN7的計算器程序也是正確的(如果XP的計算器有錯怎么辦?先別較真,有風險,但很小)。
我的做法就是,準備一些數據,首先用SUT進行查詢,然后用LINQ進行查詢,如果兩者查詢結果一致,那么可以認為程序是正確的,否則就是兩者之一存在問題。
首先準備一些測試數據,保存為XML文件,第一方便對測試數據進行CRUD,第二可以用XmlSerializer把這些數據轉換為對象,方便用LINQ進行查詢。
- < ?xml version="1.0" encoding="utf-8" ?>
1300010000 friendid> 北京市 province> 北京市 city> 18 age> 2 gender> true hasphoto> - onlinefrienddata>
1300010002 friendid> 北京市 province> 北京市 city> 27 age> 2 gender> false hasphoto> - onlinefrienddata>
1300010004 friendid> 廣東省 province> 廣州市 city> 45 age> 1 gender> true hasphoto> - onlinefrienddata>
- friends>
- onlinefriends>
【編輯推薦】
- LINQ to SQL數據表介紹
- LINQ查詢的目的與實現手段
- LINQ from子句進行復合查詢實現方法
- LINQ查詢表達式功能詳解
- LINQ基礎概念總結
網站欄目:LINQ進行查詢簡單介紹
URL標題:http://m.fisionsoft.com.cn/article/dpoesso.html


咨詢
建站咨詢
