@isTest private class SBG019RestTest { @testSetup static void testSBG019RestInit() { Product2 prd = new Product2(); prd.Product_ECCode__c = 'testSBG019'; prd.ProductCode = 'testSBG019'; prd.Name = 'testSBG019'; prd.IsActive = true; insert prd; Pricebook2 prdbook1 = new Pricebook2( Name = 'testSBG019', ProductSegment__c = 'BS', TradeType__c = 'Taxation', SalesChannel__c = 'dealer', MachineParts__c = 'Machine', isActive = true); insert prdbook1; Pricebook2 prdbook2 = new Pricebook2( Name = 'testSBG019', ProductSegment__c = 'BS', TradeType__c = 'Taxation', SalesChannel__c = 'direct', MachineParts__c = 'Machine', isActive = true); insert prdbook2; Product2 prd3 = new Product2(); prd3.Product_ECCode__c = 'testSBG01901'; prd3.ProductCode = 'testSBG01901'; prd3.Name = 'testSBG01901'; prd3.IsActive = true; insert prd3; Pricebook2 prdbook3 = new Pricebook2( Name = 'testSBG01901', ProductSegment__c = 'BS', TradeType__c = 'Taxation', SalesChannel__c = 'dealer', MachineParts__c = 'Machine', isActive = true); insert prdbook3; PricebookEntry pbe3 = new PricebookEntry(); pbe3.Pricebook2Id = ControllerUtil.getStandardPricebook().Id; pbe3.Product2Id = prd3.Id; pbe3.UnitPrice = 0; pbe3.CurrencyIsoCode = 'CNY'; pbe3.IsActive = true; insert pbe3; PricebookEntry pbe = new PricebookEntry(); pbe.Pricebook2Id = ControllerUtil.getStandardPricebook().Id; pbe.Product2Id = prd.Id; pbe.UnitPrice = 0; pbe.CurrencyIsoCode = 'CNY'; pbe.IsActive = true; insert pbe; PricebookEntry pbe1 = new PricebookEntry(); pbe1.Pricebook2Id = ControllerUtil.getStandardPricebook().Id; pbe1.Product2Id = prd.Id; pbe1.UnitPrice = 0; pbe1.CurrencyIsoCode = 'USD'; pbe1.IsActive = true; insert pbe1; } //测试SBG019Rest execute部分 以及必填字段的验证覆盖 @isTest static void test_execute() { // testSBG019RestInit(); Test.startTest(); RestRequest req = new RestRequest(); RestResponse res = new RestResponse(); //String JsonMsg = '{"GeDatas":{"Monitoring":{"Tag":"MSGH","Sender":1330,"Receiver":1592,"MessageType":"SBG019","MessageGroupNumber":570985,"NumberOfRecord":2,"TransmissionDateTime":202102021106},"GeData":[{"TransforDate":20210202,"GeDataDetails":[{"ProductCode":"000000000001100500","ProductDate":"20210202"},{"ProductCode":"","ProductDate":""}]}]}}'; String JsonMsg = '{"GeDatas":{"Monitoring":{"Tag":"MSGH","Sender":1330,"Receiver":1592,"MessageType":"SBG019","MessageGroupNumber":570985,"NumberOfRecord":2,"TransmissionDateTime":202102021106},"GeData":[{"TransforDate":20210202,"GeDataDetails":[{"ProductCode":"testSBG01901","ProductDate":"20210202"},{"ProductCode":"testSBG019","ProductDate":"20210202"},{"ProductCode":"","ProductDate":""},{"ProductCode":"testSBG019","ProductDate":""},{"ProductCode":"testSBG019","ProductDate":"20210202"},{"ProductCode":"123456","ProductDate":"20210202"}]}]}}'; req.requestURI = 'services/apexrest/SBG019/execute'; req.httpMethod = 'POST'; req.requestBody = Blob.valueof(JsonMsg); RestContext.request = req; RestContext.response = res; SBG019Rest.execute(); Test.stopTest(); } }