@isTest private class ProductScoreTableHistoryHandlerTest { private static void setdata(){ System.runAs(new User(Id = Userinfo.getUserId())) { Product_Score_Table__c [] pstList = new List(); Product_Score_Table__c pst01 = new Product_Score_Table__c( OCM_Term__c = '153P', Plan_Category3__c = 'ERCP', Category3__c = 'ERCP', Category4__c = '导丝' ); pstList.add(pst01); for(Product_Score_Table__c pst: pstList) { pst.UniqueKey__c = pst.OCM_Term__c+':'+pst.Category3__c+':'+pst.Category4__c; } insert pstList; Product_CategoryPrice_Table__c [] psctList = new List(); Product_CategoryPrice_Table__c psct01 = new Product_CategoryPrice_Table__c( OCM_Term__c = '153P', Category3__c = 'ERCP', Category4__c = '导丝', Product_Amount__c = 5, Product_Total_Price__c = 1000 ); psctList.add(psct01); for(Product_CategoryPrice_Table__c psct: psctList) { psct.UniqueKey__c = psct.OCM_Term__c+':'+psct.Category3__c+':'+psct.Category4__c; } insert psctList; } } private static testMethod void ProductScoreTableHistoryHandler01() { setdata(); Id PSTH_RecordTypeId = Schema.SObjectType.Product_Score_Table_History__c.getRecordTypeInfosByDeveloperName().get('TargetPDCA').getRecordTypeId(); Test.startTest(); String uniqueKey = 'T:153P:半期:医院管理编码:用户ID:ERCP:导丝'; Product_Score_Table__c pst = [SELECT Id FROM Product_Score_Table__c WHERE UniqueKey__c = '153P:ERCP:导丝' LIMIT 1]; Product_Score_Table_History__c [] psthList = new List(); Product_Score_Table_History__c psth01 = new Product_Score_Table_History__c( UniqueKey__c = uniqueKey, Qty__c = 5, RecordTypeId = PSTH_RecordTypeId, Product_Score_Table__c = pst.Id, Plan_Date__c = Date.newInstance(Date.today().year(),Date.today().month(),1) ); psthList.add(psth01); insert psthList; Test.stopTest(); System.runAs(new User(Id = Userinfo.getUserId())) { Product_Score_Table_History__c psth = [SELECT Category4_Avg_Price__c FROM Product_Score_Table_History__c WHERE UniqueKey__c = :uniqueKey]; System.assertEquals(100.00, psth.Category4_Avg_Price__c); } } }