Rino Mock的使用
时间:2011-03-07 来源:曹宗颖
通过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的情况。
相关阅读 更多 +