Check link:
@isTest
public class SSFInvokeMethodTester {
@isTest static void TestInvokeThisMethod(){
Test.startTest();
String accountNameNew = 'How Now Brown Cow Enterprises' ;
String AccountNameOrig ='Acme' ;
Account testAcct = new Account() ;
testAcct.Name = AccountNameOrig ;
testAcct.Phone = '(415)555-1212';
testAcct.NumberOfEmployees = 100;
Insert testAcct ;
Account acctQuery = [select Id, Name from Account where Id = :testAcct.id ] ;
SSFInvokeMethod.methodInputs params = new SSFInvokeMethod.methodInputs() ;
params.accountSobj = acctQuery ;
params.newAccountName=accountNameNew;
List<SSFInvokeMethod.methodInputs> paramList = new List<SSFInvokeMethod.methodInputs>() ;
paramList.add(params) ;
List<SSFInvokeMethod.methodOutputs> returnedResults = SSFInvokeMethod.invokeThisMethod(paramList) ;
System.debug('result DMLResult: ' + returnedResults[0].DMLResult ) ;
System.debug('result accountPreviousName: ' + returnedResults[0].accountPreviousName ) ;
System.assertEquals( returnedResults[0].DMLResult , 'Success' , 'DMLResult failed assertion');
System.assertEquals( returnedResults[0].accountPreviousName , AccountNameOrig , 'accountPreviousName failed assertion');
Test.stopTest();
}
}