The Mock Anything Toolkit for Java--JMockit

자세히 보기
           
                                      The Mock Anything Toolkit for Java--JMockit
특징 1.일반적인 모크 프레임워크를 만족시키는 기능
         2.mockstatic 및final의 종류와 방법.
         3.지원 의존 주입
다음은 코드 예입니다.
   
@Tested
    private DistributorService distributorService;

    @Mocked
    private DistributorDao distributordao;
    @Mocked
    private DistributorAndAreaRelationDao relationDao;

@Test
    public void edit(@Mocked final IConnection conn,@Mocked final CacheService cacheService) {

        String json = "{\"id\":1,\"num\":\"120020\",\"name\":\"  2\",\"remark\":\"    \",\"area\":[{\"pv\":\"110000\",\"t\":1},{\"pv\":\"110000\",\"city\":\"11011\",\"t\":2},{\"pv\":\"120000\",\"city\":\"120100\",\"t\":1}],\"header\":{\"uid\":\"aaaaaa\",\"cid\":1,\"clid\":\"Zhabei\",\"uip\":\"aaaaaaaaaa\",\"rid\":\"6ba678cb-b2a5-426a-ad86-bf491aed172e\"}}";
        DistributorRequest distributorRequest = JSON.parseObject(json.toString(), DistributorRequest.class);

        try {
            new Expectations() {
                {
                    distributordao.checkUniqueDistributorNumber(conn, (Distributor) any, true);
                    result = false;
                    distributordao.editDistributor(conn, (Distributor)any);
                    result=true;
                    relationDao.save(conn,(DistributorAndAreaRelation)any);
                    result=100;
                    relationDao.delete(conn, anyString, anyInt);
                    result=true;

                }
            };
            new MockUp() {
                @Mock
                public CacheService getCache() {
                    return cacheService;
                }
            };
            new MockUp() {
                @Mock
                public IConnection getConnectionOpenTransaction() {
                    return conn;
                }
            };

            distributorService.edit(distributorRequest);
            Assert.assertTrue(true);
        } catch (Exception e) {
            e.printStackTrace();
            Assert.fail("DistributorServiceTest edit mock handle failed!");
        }
    }

좋은 웹페이지 즐겨찾기