Skip to content

Commit febf72f

Browse files
committed
Treat thenAnswer() to return None
Revert fbb9a5f (Do not allow a bare `thenAnswer()`) which was never released.
1 parent 1211590 commit febf72f

2 files changed

Lines changed: 5 additions & 7 deletions

File tree

mockito/invocation.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -532,9 +532,7 @@ def thenRaise(self, *exceptions: Exception | type[Exception]) -> Self:
532532
return self
533533

534534
def thenAnswer(self, *callables: Callable) -> Self:
535-
if not callables:
536-
raise TypeError("No answer function provided")
537-
for callable in callables:
535+
for callable in callables or (return_(None),):
538536
answer = callable
539537
if self.discard_first_arg:
540538
answer = discard_self(answer)

tests/when_interface_test.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@ def testAssumeReturnNoneIfOmitted(self):
4747
assert dog.bark() is None
4848
assert dog.bark() == 42
4949

50-
def testRaiseIfAnswerIsOmitted(self):
50+
def testAssumeReturnNoneIfAnswerIsOmitted(self):
5151
dog = Dog()
52-
with pytest.raises(TypeError) as exc:
53-
when(dog).bark().thenAnswer()
54-
assert str(exc.value) == "No answer function provided"
52+
when(dog).bark().thenAnswer().thenReturn(42)
53+
assert dog.bark() is None
54+
assert dog.bark() == 42
5555

5656
def testAssumeRaiseExceptionIfOmitted(self):
5757
dog = Dog()

0 commit comments

Comments
 (0)