麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

JMockit的常用注解

2019-11-11 04:52:21
字體:
來源:轉載
供稿:網友

JMockit的常用注解

1. @Tested

用于標識一個被測對象的實例,只能作用于具體類,而不能作用于接口,因為一個接口可能有多個實現類,被測試的只能是實現該接口的某一個具體的類通過@Tested標簽標識的被測對象實例,將會在測試方法執行之前被JMockit初始化。可通過@Injectable注解對被測對象的構造函數進行改寫。如果沒有@Injectable,則采用原有代碼進行初始化。被@Tested注解的對象,其域對象將自動被@Injectable注解生成的對象進行初始化如果@Tested的fullyInitialized=true,則被測對象的所有參數都需要被初始化。

2. @Injectable

標識只有一個指定的被測對象的內部變量被mock,其他和被mock實例采用相同對象的實例不受影響。被@Tested注解的對象,其域對象將自動被@Injectable注解生成的對象進行初始化

3. @Mocked

用于全局變量或方法的參數,標識一個指定的class的實例或被測對象的參數被Mock掉。JMockit根據Expectation方法中的設置來初始化被Mock對象的值。所有對象(基本類型和Array除外)都可以通過@Mocked標識被Mock掉。當一個被測對象的參數被Mock的時候,執行測試時,該參數將不再按照原有的代碼來實例化,而是將實例化的工作委托給JMockit來完成。被Mock的對象的除了繼承自Object的方法之外的所有方法(包括構造函數、靜態函數等)都會被JMockit重寫。

4. @Capturing

標識一個被Mock的類及其子類均被Mock。可以通過maxInstances方法來限定最大有多少層子類也被mock

舉個栗子(代碼片段):

DemoServiceImpl:

import org.sPRingframework.beans.factory.annotation.Autowired;public class DemoServiceImpl implements DemoService { @Autowired private DemoDao demoDao; @Autowired private StockDao stockDao; /** * 更新庫存 * * @return */ public int updateCount(int id, int count) { //...... UPDATE Database return stockDao.queryStock(id) - count;//返回數量 }}

DemoServiceImplAutowireTest:

import mockit.*;import mockit.integration.junit4.JMockit;import org.junit.Assert;import org.junit.Test;import org.junit.runner.RunWith;/** * Autowired對象 Mock測試 */@RunWith(JMockit.class)public class DemoServiceImplAutowireTest { /** * 被測試的對象,只能是具體類,而不能是接口,因為一個接口可能有多個實現類 * 所有帶有@Injectable的實例均被自動注入該實例中 */ @Tested private DemoServiceImpl noteService; /** * 自動注入到noteService中,只有一個StockDao的特定實例stockDao被MOCK掉 */ @Injectable private StockDao stockDao; @Test public void test() { // 1. record 錄制期望值 new Expectations() { { stockDao.queryStock(anyInt);// mock這個方法,無論傳入任何Int類型的值,都返回同樣的值,達到黑盒的效果 result = 50; times = 1; } }; // 2. replay 調用 Assert.assertEquals(50 - 10, noteService.updateCount(1, 10)); //驗證結果 //3.校驗是否只調用了一次。 new Verifications() { { stockDao.queryStock(anyInt); times = 1; } }; }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久福利小视频 | 久久免费视频3 | 黄视频网站免费观看 | 一级做a爱视频 | 一级在线 | 久久成人亚洲 | 在线成人一区二区 | 黄色电影免费提供 | 亚洲一区二区在线视频 | 国产午夜精品久久久久久免费视 | 欧美精品成人一区二区在线观看 | va视频| 亚洲国产精品一区二区久久 | 亚洲午夜视频 | 午夜精品影院 | 成人高清网站 | 成人免费观看av | 国产中出在线观看 | 日韩在线毛片 | 久久人人爽人人爽人人片av高清 | 久久国产精品久久精品国产演员表 | 国产精品美女一区二区 | 深夜毛片免费看 | 九九热视频这里只有精品 | 全黄性性激高免费视频 | 欧美性猛交一区二区三区精品 | 加勒比综合 | 国产午夜精品视频免费不卡69堂 | 欧美成人一区二区三区 | 成年人高清视频在线观看 | 久久色播 | 国产中出在线观看 | 毛片在线免费视频 | 国产精品视频免费在线观看 | 亚洲午夜1000理论片aa | 国产男女 爽爽爽爽视频 | 欧美成人精品一区二区男人小说 | 久久久精品视频免费看 | 亚洲日韩精品欧美一区二区 | 看免费毛片 | 综合网天天色 |