1
如何對具有LTS Datacontext的代碼進行單元測試。我在測試時遇到錯誤,我有很多Datacontexts,並且手動添加Connection字符串是一種痛苦,任何建議。測試Linqto SQL類
如何對具有LTS Datacontext的代碼進行單元測試。我在測試時遇到錯誤,我有很多Datacontexts,並且手動添加Connection字符串是一種痛苦,任何建議。測試Linqto SQL類
嗯,我做的是如下的方式:
我的數據層的接口,如如下:現在
public class MyDataLayer : iMyDataLayer
{
public string GetMyData(parameters)
{
return myQueryValue;
}
}
public interface iMyDataLayer
{
public string GetMyData(parameters);
}
,我在構造函數中我主要的代碼庫(業務邏輯)我將有一個參數的接口傳遞的數據層:
private iMyDataLayer DataLayer;
public class MyBusinessLogic(iMyDataLayer dataLayer)
{
DataLayer = dayaLayer
}
public string GetMyData(parameters)
{
return DataLayer.GetMyData(parameters)
}
有了這個,現在我可以在我的TDD項目中創建一個「假」數據服務:
public class FakeDataLayer : iMyDataLayer
{
public string GetMyData(parameters)
{
return "Some Default Value or Object";
}
}
所以現在當我運行我的測試時,我現在可以將我的假數據層對象傳遞給我的業務邏輯,從這裏它將調用僞邏輯並獲取默認結果。
現在,如果您不會在這裏使用真實數據。但是,如果您使用真正的有效/無效數據設置假對象,則可以以這種方式測試業務邏輯,而無需連接到數據庫。
希望這會有所幫助。讓我知道你是否需要澄清任何事情。
我在哪裏連接我的datacontexts在測試中。 – Greens 2009-05-19 17:16:07