1
我想弄清楚如何通過TDD編寫實體框架代碼第一代碼。我發現它很難,因爲我沒有像過去使用Ruby On Rails那樣的測試數據庫。可能更容易用一個例子來說明:如何測試EF模型
目前我有:
public interface IMyContext
{
IDbSet<UserProfile> Users { get; set; }
}
和
public class UserModel
{
IMyContext myContext;
UserModel(IMyContext myContext)
{
this.myContext = myContext;
}
UserProfile GetUser(int id)
{
return myContext.Users.Where(u => u.id == id);
}
}
我不知道如何測試的usermodel代碼,而正在運行的數據庫。我知道我可以模擬MyContext - 但代碼myContext.Users.Where ...可能涉及複雜的嘲弄?我的代碼是否錯誤?如何在沒有測試數據庫的情況下爲模型編寫測試?或者我應該僞造上下文?
謝謝!
奧凱的
IDbSet<UserProfile>
,這是有道理的,但不是IDbSet的接口呢?所以我們也必須嘲笑它呢? – Karan 2012-07-12 09:07:05你可以做到這一點,或者你可以讓用戶作爲IDbSet的具體實現返回 – 2012-07-19 19:28:36