1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        xlsunit面向數(shù)據(jù)庫應(yīng)用的單元測試框架

        聯(lián)合創(chuàng)作 · 2023-10-01 15:03

        xlsunit 輔助junit,用于輔助基于 Spring、SpringBoot 企業(yè)信息系統(tǒng)單元測試,這種企業(yè)信息系統(tǒng)都會有大量的數(shù)據(jù)庫操作,使用 xlsunit 來初始化測試前的數(shù)據(jù)庫,以及使用 xlsunit 來比較業(yè)務(wù)調(diào)用后的數(shù)據(jù)庫數(shù)據(jù),能減少單元測試工作量,增強(qiáng)單元測試可維護(hù)性。

        xlsunit 用 excel 來模擬數(shù)據(jù)庫表數(shù)據(jù),適合那種一次業(yè)務(wù)操作,多個表數(shù)據(jù)變化的應(yīng)用系統(tǒng)。

        XLSParser workflowParser = null;
        //
        @Autowrired WorkflowService workflowService;
        //
        @MockBean
        private ThirdPatyUserService userService;
        
        @Autowired
        protected SQLManager sqlManager;
        
        @Before
        public void init() {
          super.init();
          //XLSUnit BeetlSql
          DBAccess dbAccess = new BeetlSqlDBAccess(sqlManager);
          // Excel 
          XLSFileLoader loader = new XLSFileLoader("root");
          //
          workflowParser = new XLSParser(loader, "user.xlsx", dbAccess,
                                         new 
        RowHolderFacotoy.RowBeetlSQLHolderFactory());
        }
        
        public void testUser1() {
          //執(zhí)行某個測試場景的初始化工作,初始化user表
          VariableTable vars = new VariableTable();
          userParser.init(vars);
        
          //開始測試,從excel中獲取userId和password
          userParser.prepare("場景1", vars);    
          Integer id = (Integer) vars.find("id");
          String newPassword = vars.findString("test.password");
          //調(diào)用業(yè)務(wù)代碼,修改用戶密碼
          userSerivce2.modifyUserInfo(id, newPassword);
        
          //比較數(shù)據(jù)庫里的數(shù)據(jù)跟場景1的數(shù)據(jù)是否一致
          userParser.test("場景1", vars);
        
        }

        可以將測試數(shù)據(jù)寫在 excel 里,或者通過數(shù)據(jù)庫客戶端工具粘貼到 excel 里完成數(shù)據(jù)的輸入。

        可以用擁有任意多個 excel 文件,每個文件概念上都可以包含一個初始化數(shù)據(jù)的多種測試場景,excel 文件有三部分組成

        • 第一個工作表,這個工作表用來介紹當(dāng)前 excel 文件所測試的業(yè)務(wù),以及包含一個目錄,快捷指向每個場景測試

        • 第二個表示 數(shù)據(jù)庫初始化數(shù)據(jù),可以包含多個表的初始化數(shù)據(jù),也可以在初始化數(shù)據(jù)定義前,定義一些變量,這些變量可以用在初始化數(shù)據(jù),JUnit 代碼里,以及隨后的場景測試?yán)?/p>

        • 第三個表以后的每個工作表都是場景測試表,對應(yīng)了單元測試完畢后,期望的數(shù)據(jù)庫的樣子。通常用紅色背景標(biāo)注在表的列名上,這樣表示只讓 xlsunit 比較關(guān)心的列。同時,也能提醒閱讀者,編寫期望值

        xlsunit 基于 Beetl ,完成 Excel 里計算表達(dá)式實現(xiàn)。

        瀏覽 23
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            www.操操操.com | 夜夜夜网站| 欧美亚洲高清 | 影音先锋AV日日骚网址 | 国产精品粉嫩粉嫩水嫩 | 成人AV三级片 | 一级少妇淫片 | 红桃视频乱码一区二区三区 | 哦┅┅快┅┅用力啊┅美娇妻老师 | 玩弄牲欲强老熟女tp121cc |