久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    SSM項目各層單元測試

     Architect_home 2019-04-03

    數據層的測試

    數據主要使用Mybatis,因此注入的時候也只需要引入Mybatis相關的配置

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration({ "classpath:spring/spring-dao.xml" })
    public class SeckillDaoTest {
    
    	// 注入Dao實現類依賴
    	@Resource
    	private SeckillDao seckillDao;
    
    	@Test
    	public void testReduceNumber() {
    		long seckillId=1000;
            Date date=new Date();
            int updateCount=seckillDao.reduceNumber(seckillId,date);
            System.out.println(updateCount);
    	}
    }

    業務層測試

    業務層會涉及到多表的操作,因此需要引入事務。而為了方便重復測試,添加回滾功能。

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration({ "classpath:spring/spring-dao.xml", "classpath:spring/spring-service.xml" })
    @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
    @Transactional
    public class SeckillServiceImplTest {
    
    	private final Logger logger = LoggerFactory.getLogger(this.getClass());
    
    	@Autowired
    	private SeckillService seckillService;
    
    	@Test
    	public void testGetSeckillList() {
    		List<Seckill> seckills = seckillService.getSeckillList();
    		System.out.println(seckills);
    	}
    }

    控制層測試

    控制層主要模擬用戶請求,這里設計到http請求,我們可以使用mock測試

    @WebAppConfiguration
    @ContextConfiguration({ "classpath:spring/spring-dao.xml", 
    	"classpath:spring/spring-service.xml",
    	"classpath:spring/spring-web.xml"})
    @RunWith(SpringJUnit4ClassRunner.class)
    @TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true)
    @Transactional
    public class SeckillControllerTest  {
    
    	@Autowired
    	protected WebApplicationContext context;
    	
    	private MockMvc mockMvc;
    	private String listUrl = "/seckill/list";
    	private String detailUrl = "/seckill/{seckillId}/detail";
    	private String expserUrl = "/seckill/{seckillId}/exposer";
    	private long seckillId = 1000L;
    
    	@Before
    	public void setUp() {
    		this.mockMvc = webAppContextSetup(this.context).alwaysExpect(status().isOk()).alwaysDo(print()).build();
    	}
    
    	@Test
    	public void testList() throws Exception {
    		this.mockMvc.perform(get(listUrl)).andExpect(view().name("list"));
    	}
    
    	@Test
    	public void testExistDetail() throws Exception {
    		this.mockMvc.perform(get(detailUrl, seckillId)).andExpect(view().name("detail"))
    				.andExpect(model().attributeExists("seckill"));
    	}
    }

     

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产精品久久国产精品99| 国产午夜手机精彩视频| 日产无人区一线二线三线乱码蘑菇| 欧美人与禽2O2O性论交| 免费无码成人AV片在线| 久久精品人妻无码一区二区三| 国产成人人综合亚洲欧美丁香花| 麻豆国产AV剧情偷闻女邻居内裤| 夜夜躁狠狠躁日日躁| 2019久久久高清日本道| 国产精品欧美一区二区三区不卡| 丁香婷婷色综合激情五月| 国产成人手机高清在线观看网站 | 看全色黄大色大片免费久久| 亚洲av永久无码精品水牛影视| 成人精品天堂一区二区三区| 日韩精品区一区二区三vr| 狠狠躁夜夜躁人人爽天天天天| 国产国拍亚洲精品永久软件| 国产成人免费高清激情视频| 久久精品国产中文字幕| 国产精品久久久久久无码五月| 免费AV片在线观看网址| 四虎亚洲精品无码| 丰满少妇人妻HD高清大乳 | AV免费播放一区二区三区| 国产av中文字幕精品| 精品无码久久久久久久动漫 | 国产精品日日摸夜夜添夜夜添无码| 五月天婷婷激情无码专区| 一道本AV免费不卡播放| 国产目拍亚洲精品二区| 久久精品国产久精国产| 成人片黄网站色大片免费观看| 福利一区二区不卡国产| 成人AV无码一区二区三区| 精品无码久久久久国产| 精品卡通动漫亚洲AV第一页| 在线a级毛片无码免费真人| 亚洲日韩精品欧美一区二区| 亚洲AV旡码高清在线观看|