2010-09-28 49 views
0

使用Subsonic 3,我有一個簡單的類叫做「ConferenceRepository」,它有一個方法根據它們的狀態返回一堆會議。我正在使用SubSonic的內置測試支持進行測試。我的回購協議的設置是這樣的:Subsonic 3.0 TestRepository「查找」不工作

// 2 Approved, 4 pending, 3 rejected 
var data = new List<Conference> 
       { 
        new Conference {Approved = true, Rejected = false}, 
        new Conference {Approved = true, Rejected = false}, 
        new Conference {Approved = false, Rejected = false}, 
        new Conference {Approved = false, Rejected = false}, 
        new Conference {Approved = false, Rejected = false}, 
        new Conference {Approved = false, Rejected = false}, 
        new Conference {Approved = false, Rejected = true}, 
        new Conference {Approved = false, Rejected = true}, 
        new Conference {Approved = false, Rejected = true} 
       }; 

Conference.ResetTestRepo(); 
Conference.Setup(data); 

然後我的回購類最終執行這條線,使用find():

return Conference.Find(c => c.Approved).ToList(); 

麻煩的是,這總是返回所有記錄(9) 。我嘗試了不同的查找標準,無濟於事。

任何人都知道問題是什麼?我已經嘗試在tt模板中修復平等比較,如下所述:Fixes for problems with SubSonic 3's TestRepository但這沒有幫助。

+0

您使用的是github的最新消息嗎? – saintedlama 2010-09-29 02:59:07

+0

使用從github下載的SubSonic_3.0.0.4.zip軟件包 – 2010-09-29 08:53:54

回答

1

所以從.Find改爲...

return Conference.All().Where(c => c.Approved == true).ToList(); 

解決它。

0

應該沒有什麼差別,但是你試過:

return Conference.Find(c => c.Approved == true).ToList();