<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    躺在沙灘上的小豬

    快樂的每一天

    jmock!

    在上面篇文章,我們的測試代碼如下:

     1package com.martin.pdo;
     2
     3import org.springframework.context.ApplicationContext;
     4
     5import junit.framework.Assert;
     6import junit.framework.TestCase;
     7
     8public class UserTest extends TestCase {
     9
    10    public void testUser() {
    11        ApplicationContext context = JUnitTestHelper.getContext();
    12        User user = (User) context.getBean("user");
    13                User _u1 = new User();
    14        _u1.setName("martin xus");
    15        _u1.setSex('F');
    16        _u1.setAge(100);
    17        user.add(_u1);
    18
    19        Assert.assertNotNull(_u1.getId());
    20
    21        User _u2 = (User) user.loadByName("martin xus").get(0);
    22        Assert.assertEquals(_u1.getId(), _u2.getId());
    23
    24        user.remove(_u2);
    25        Assert.assertTrue(user.loadByName("martin xus").size() == 0);
    26    }

    27
    28}

    29


    而這些,必須要和spring&hibernate一起工作,必須保證數(shù)據(jù)庫操作正確,而我們需要的只是測試這個(gè)類的本身!
    有必要連hibernate,spring一起測試嗎?當(dāng)然沒有,測試,只需要保證本代碼完成相應(yīng)的功能,即可.

    那么就有必要更換測試方法:
    mock便是首選,在這里我們選擇了jmock (http://www.jmock.org)

     1package com.martin.mock;
     2
     3import org.jmock.Mock;
     4import org.jmock.MockObjectTestCase;
     5
     6import java.util.List;
     7
     8/**
     9 * @author martin.xus
    10 */

    11public class UserTest extends MockObjectTestCase {
    12
    13    public void testAdd() {
    14        Mock mock = mock(UserManager.class);
    15        User user = new User();
    16        mock.expects(once()).method("add").with(isA(User.class));
    17        UserManager manager = (UserManager) mock.proxy();
    18
    19        user.setManager(manager);
    20        user.add(new User());
    21        mock.verify();
    22    }

    23
    24    public void testLoadByName() {
    25        Mock mock = mock(UserManager.class);
    26        User user = new User();
    27
    28        mock.expects(once()).method("loadByName").with(isA(String.class)).will(returnValue(List.class));
    29        UserManager manager = (UserManager) mock.proxy();
    30
    31        user.setManager(manager);
    32        user.loadByName("martin");
    33        mock.verify();
    34    }

    35
    36    public void testRemove(){
    37        Mock mock = mock(UserManager.class);
    38        User user = new User();
    39
    40        mock.expects(once()).method("remove").with(isA(User.class));
    41        UserManager manager = (UserManager) mock.proxy();
    42
    43        user.setManager(manager);
    44        user.remove(user);
    45        mock.verify();   
    46    }

    47}

    ok,測試通過

    posted on 2005-09-22 21:18 martin xus 閱讀(237) 評(píng)論(0)  編輯  收藏 所屬分類: java

    主站蜘蛛池模板: 女人18一级毛片免费观看| 一级毛片成人免费看a| 免费真实播放国产乱子伦| 国产福利在线观看永久免费| 97亚洲熟妇自偷自拍另类图片| 全部一级一级毛片免费看| 久久久久久久综合日本亚洲| 一级毛片免费播放试看60分钟| 免费a在线观看播放| 国产精品免费大片| 亚洲AV无码一区东京热久久| 免费精品国偷自产在线在线| 免费精品视频在线| 亚洲视频在线免费看| 亚洲高清免费视频| 四虎最新永久免费视频| 精品免费久久久久国产一区 | 国产精品免费网站| 在线亚洲v日韩v| 亚洲精品美女视频| 成年网站免费视频A在线双飞| 亚洲成aⅴ人片在线影院八| 免费一级毛片一级毛片aa| 无码日韩人妻AV一区免费l| 亚洲国产精品乱码在线观看97| 丁香花免费高清视频完整版| www成人免费观看网站| 亚洲人成人网站18禁| 亚洲宅男永久在线| 亚洲综合另类小说色区| 午夜精品射精入后重之免费观看| 久久久久亚洲精品影视| 18禁网站免费无遮挡无码中文| 国产成人精品日本亚洲网址| 性感美女视频免费网站午夜| 久久精品国产亚洲AV天海翼| 亚洲天堂中文字幕| 亚洲AV无码专区在线播放中文 | www.黄色免费网站| 6080午夜一级毛片免费看| 99亚偷拍自图区亚洲|