What does a 'spy' test double do differently from a 'stub'?
-
A
Spies replace the real function; stubs do not
-
B
Spies record calls and arguments while optionally delegating to the real implementation; stubs just return preset values
-
C
Stubs record calls; spies only replace return values
-
D
There is no practical difference between spies and stubs