`self.fail` will actually exit the method the moment it's called, which means that `os.environ['PATH']` won't be restored.

How about rewriting the test this way instead:

    def test_find_command_without_PATH(self):
        """
        find_command should still work when the PATH environment variable
        doesn't exist (#22256).
        """
        current_path = os.environ.pop('PATH', None)

        try:
            self.assertIs(None, find_command('_missing_'))
        finally:
            if current_path is not None:
                os.environ['PATH'] = current_path