Skip to content

Commit

Permalink
tests: Adds mock patch autospec fixture
Browse files Browse the repository at this point in the history
When mocking something, there's the possibility to reference a
property that does not exist, or call a method with invalid arguments,
but the unit tests to keep passing, resulting in false positives.

We've seen this issue several times in OpenStack, and we have created
and started using a mock patch fixture (can be seen in OpenStack Nova's test.py)
which enables autospec by default.

This guarantees 2 things: that the thing we're patching exists, and if it's
callable, that the calls respect the callable's signature (e.g.: no unknown
arguments can be used).
  • Loading branch information
claudiubelu committed Jun 27, 2024
1 parent 2672285 commit 2fcf641
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions coriolis/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright 2024 Cloudbase Solutions Srl
# All Rights Reserved.

from oslotest import mock_fixture

# NOTE(claudiub): this needs to be called before any mock.patch calls are
# being done, and especially before any other test classes load. This fixes
# the mock.patch autospec issue:
# https://github.com/testing-cabal/mock/issues/396
mock_fixture.patch_mock_module()

0 comments on commit 2fcf641

Please sign in to comment.