Need a way to check expectations without Clearing/ Verifying them
Closed this issue · 1 comments
GoogleCodeExporter commented
A complement to http://code.google.com/p/googlemock/issues/detail?id=132.
I'm working on a utility class (QSignalMock) for use with Qt's signals-slots
framework to make verifying that a class emits the correct signals much easier
- some further details are in my (SSJ's) posts, here:
http://groups.google.com/group/googlemock/browse_thread/thread/4538329ca3dae9ec
Emission of signals can be asynchronous, and we need to be able to wait around
for a timeout period before Verifying the expectations, while at the same time
waiting no longer than is required for the EXPECTed signals to be emitted.
To do this, I would like, in the destructor of QSignalMock, to be able to check
whether the expectations are currently satisfied and if not, to wait around for
a timeout or for them to become satisfied (whichever comes first), re-checking
whenever a new signal comes in. Mock::VerifyAndClearExpectations() won't do,
alas, as I may need to check more than once.
An addition of e.g. bool Mock::CheckExpectations() which returns whether the
mock's expecations are currently satisfied and has no side-effects would be
very, very helpful. This request seems quite Qt-specific, but I can see it
being useful to other people dealing with asynchronous operations.
Original issue reported on code.google.com by ssj...@hotmail.com
on 7 Mar 2012 at 8:58
GoogleCodeExporter commented
This bug is requesting a "peek" function that has no side effect (i.e., it
should not generate a failure). This is to facilitate testing based on polling.
But testing based on polling is hacky and unreliable - it indicates a design
smell. I don't want to encourage that. I think his problem is probably better
solved using synchronization primitives properly, outside of gMock.
Original comment by j...@google.com
on 16 Nov 2012 at 7:30
- Changed state: WontFix