剛剛遇到問題。 我正在嘗試做一個wcf服務unittest準備好或更好的所有代碼都必須使用unittest進行測試。WCF調用不接口的方法?
Atm它不可能coze我已經連接到每次使用的crm 2011服務器。
所以我用一個接口代替它。但我想單元測試WCF,就像你使用它。
現在我的想法是做一個公開的方法,並給出一個假連接。
現在我的問題是有可能調用此方法(例如:ConnectionHandler),即使它不在接口中?
這應該是這樣的:
public interface IWCF
{
[OperationContract]
bool method1();
[OperationContract]
bool method2();
}
public class WCF: IWCF
{
public bool method1(){
...
}
public bool method2(){
...
}
private connection connectionHandler;
public connection ConnectionHandler(Iconnection con){
if(con != null){
connectionHandler = con;
} else {
connectionHandler = takedefault;
}
}
}
編輯
啊我忘了告訴這一點:我其實心裏有安全,我不想讓任何人都可以傳遞到不同的連接該服務器僅用於單元測試目的。
你試圖嘲笑你的聯繫?你應該看看不同的模擬框架,因爲這正是你想要完成的。 – CharlesAD
是啊那就是即時通訊試圖做的事情:-D但是如果我不能注入嘲笑的連接我不能單元測試它。但與答案形式user2382536我明白如何做到這一點。我擔心的是,不要讓客戶端有權更改連接。 – domiSchenk