I don't see anything explicit in the wiki and hacking guides, they mainly just say to have unit tests for everything and tell you how to run/debug them.

Generally mock is supposed to be used over mox now for python 3 support.

There is also a blueprint to remove the usage of mox in neutron:

https://blueprints.launchpad.net/neutron/+spec/remove-mox

For all new patches, we should be using mock over mox because of the python 3 support of mock (and lack thereof for mox).

As for when to use mock vs stubs, I think you'll get different opinions from different people. Stubs are quick and easy and that's what I used early when I started contributing to the project, but since then have preferred mox/mock since they validate that methods are actually called with specific parameters, which can get lost when simply stubbing a method call out. In other words, if I'm stubbing a method and doing assertions within it (which you'll usually see), if that method is never called (maybe the code changed since the test was written), the assertions are lost and the test is essentially broken.

So I think in general it's best to use mock now unless you have a good reason not to.

On 11/10/2013 7:40 AM, Jay Lau wrote:
Hi,

I noticed that we are now using mock, mox and stub for unit test, just
curious do we have any guidelines for this, in which condition shall we
use mock, mox or stub?

Thanks,

Jay


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


--

Thanks,

Matt Riedemann


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to