Open In App

Python unittest – How to nicely mock a web crawler function?

Last Updated : 01 Apr, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Prerequisite: Python | Unit Test Objects Patching

Unit Testing is the first level of software testing where the smallest testable parts of the software are tested. This is used to validate that each unit of the software performs as designed. The Unittest framework is python’s xUnit style framework. Before deep-diving into “How to nicely mock a web crawler” let us understand some fundamentals about that.

What is mock?

Mock is a submodule (class) of unittest module. The mock module allows us to replace particular portions of the whole system that we are testing with mock objects.

Steps to be performed:

  • Import mock class from unittest.mock module.
  • Create an instance of the Mock class.
  • Set mock object’s method.
  • Print result

Example:

Let’s understand mock by mimicking another python class. In this example, we will see methods that were called on our mocked class, also what parameters were passed to them.

Python3




# importing mock from unittest.mock module
from unittest.mock import Mock
  
# defining instance of our mock
our_mock = Mock()
  
# defining mock object’s __str__ method
our_mock.__str__ = Mock(return_value='GeeksforGeeks Mocking Example')
  
# executing str function for output
print(str(our_mock))


Output:

GeeksforGeeks Mocking Example

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads