通过Rino Mock来模拟接口并返回数据,验证客户端数据处理的正确性。

 

 1 [TestMethod]
 2         public void Value_Test()
 3         {
 4             IBugInfoDataProvider dataProvider = MockRepository.GenerateMock<IBugInfoDataProvider>();
 5             dataProvider.Stub(n => n.SearchMembers()).Return(new Member[] {
 6                 new Member{MemberID=1,Name="Peter"}
 7             });
 8 
 9             MemberControl ctrl = new MemberControl();
10             ctrl.BugDataProvider = dataProvider;
11 
12             TestForm form = new TestForm();
13 
14             form.AddControl(ctrl);
15             form.AddClickEvent("check value", (s, e) => {
16                 Assert.AreEqual(ctrl.SelectedMemeber.MemberID, 1);
17             });
18 
19             form.ShowDialog();
20         }
21 
22         [TestMethod]
23         public void Empty_Test()
24         {
25             IBugInfoDataProvider dataProvider = MockRepository.GenerateMock<IBugInfoDataProvider>();
26             dataProvider.Stub(n => n.SearchMembers()).Return(new Member[] {});
27 
28             MemberControl ctrl = new MemberControl();
29             ctrl.BugDataProvider = dataProvider;
30 
31             TestForm form = new TestForm();
32 
33             form.AddControl(ctrl);
34             form.AddClickEvent("empty null", (s,e) => {
35                 Assert.IsTrue(ctrl.SelectedMemeber == null);
36             });
37 
38             form.ShowDialog();
39         }

 

第一个测试目的是为了测试客户端控件MemberControl上SelectedMember返回值的正确性。

第二个测试目的是为了测试客户端控件能够正确处理接口返回的数据集长度为0的情况。

作者: 曹宗颖 发表于 2011-03-07 16:56 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架