function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion

How to write a test class for a Web service


Can anyone please guide me as to how do we write the test class for a Web Service.

Ajay Nagar 7Ajay Nagar 7
Go through these links :
Amit Chaudhary 8Amit Chaudhary 8
Please check below trailhead module for all webservice related qun.

Apex Integration Overview
This module will Describe the differences between web service and HTTP callouts and Authorize an external site with remote site settings

Apex REST Callouts
This module will  describe about Perform a callout to receive data from an external service and Test callouts by using mock callouts 

Apex SOAP Callouts
This module will describe you about Generate Apex classes using WSDL2Apex and  Perform a callout to send data to an external service using SOAP with Test callouts by using mock callouts

Apex Web Services
This module will Describe the two types of Apex web services and provide a high-level overview of these services. Create an Apex REST class that contains methods for each HTTP method and Invoke a custom Apex REST method with an endpoint

NOTE:- Test class example ith Mock classes also given in above module

Let us know if this will help u

Suraj Tripathi 47Suraj Tripathi 47

Hi bs881026,
You can write test class two ways-
  1)By using static resources-In this you need to go 
   Developer Console-> select File -> New -> Static Resource.
  2)By implementing Interface.
   Create class->then implement interface.
Go through this link for more information.
Sample code by using Interface.
global class AnimalLocatorMock  implements HttpCalloutMock{
   global HTTPResponse respond(HTTPRequest request) {
        // Create a fake response
        HttpResponse response = new HttpResponse();
        response.setHeader('Content-Type', 'application/json');
       response.setBody('{"animals": ["majestic badger", "fluffy bunny", "scary bear", "chicken", "mighty moose"]}');
        return response; 
public class AnimalLocatorTest {
    static void test(){
        Test.setMock(HttpCallOutMock.class, new AnimalLocatorMock());
        String res=AnimalLocator.getAnimalNameById(2);


If you find your Solution then mark this as the best answer. 

Thank you!

Suraj Tripathi