<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

    主站蜘蛛池模板: 亚洲国产精品无码中文lv| 亚洲欧洲第一a在线观看| 亚洲国产精品久久人人爱| 成人无码a级毛片免费| 亚洲精品无码乱码成人| 亚洲av无码无线在线观看| 日韩欧毛片免费视频| 亚洲在成人网在线看| 亚洲一区免费视频| 亚洲精品熟女国产| 67194熟妇在线永久免费观看| 亚洲高清不卡视频| 亚洲精品免费网站| 亚洲精品中文字幕| 免费a级毛片大学生免费观看| 色爽黄1000部免费软件下载| 国产91精品一区二区麻豆亚洲| 成人妇女免费播放久久久| 国产亚洲一区二区手机在线观看| 久久精品视频免费播放| 亚洲精品国产第1页| 在线v片免费观看视频| 亚洲av无码成人精品国产| 亚洲日本一区二区一本一道| 国内精品一级毛片免费看| 亚洲视频小说图片| 成年女人男人免费视频播放| 色偷偷亚洲第一综合| 国产中文在线亚洲精品官网| 久99久精品免费视频热77| 亚洲1区1区3区4区产品乱码芒果| 成年女人男人免费视频播放| 国产大片免费天天看| 亚洲电影在线播放| 亚洲国产av一区二区三区| 香蕉免费一区二区三区| 亚洲国产精品无码久久九九大片| 激情97综合亚洲色婷婷五| 天天影院成人免费观看| 国产精品自拍亚洲| 亚洲日本国产乱码va在线观看|