[openstack-dev] [nova] Do we have some guidelines for mock, stub, mox when writing unit test?

Ben Nemec openstack at nemebean.com
Mon Dec 23 23:07:26 UTC 2013


I added it to the page John linked earlier:


On 2013-12-23 17:08, Shawn Hartsock wrote: 

> Where in the wiki is this written down? Maybe I should read some of these entries. I have looked but I can't find it. 
> On Dec 23, 2013 11:56 AM, "Ben Nemec" <openstack at nemebean.com> wrote:
> On 2013-12-21 07:24, Matt Riedemann wrote:
> On 12/19/2013 8:51 AM, John Garbutt wrote:
> On 4 December 2013 17:10, Russell Bryant <rbryant at redhat.com> wrote:
> I think option 3 makes the most sense here (pending anyone saying we
> should run away screaming from mox3 for some reason). It's actually
> what I had been assuming since this thread a while back.
> This means that we don't need to *require* that tests get converted if
> you're changing one. It just gets you bonus imaginary internet points.
> Requiring mock for new tests seems fine. We can grant exceptions in
> specific cases if necessary. In general, we should be using mock for
> new tests. 
> I have lost track a bit here.
> The above seems like a sane approach. Do we all agree on that now?
> Can we add the above text into here:
> https://wiki.openstack.org/wiki/ReviewChecklist#Nova_Review_Checklist [1]
> John
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev [2]

 Yeah, at some point I wanted to cleanup the various testing guides but
 until then I like the idea of just putting something simple into the
 nova review checklist. Basically use mock for new tests, mox can be
 used in exceptional cases. What I've considered exceptional so far
 includes changes that will be backported to a stable release where
 mock isn't being used and cases where you basically have to bend over
 backwards to work new mock tests into an existing test class that has
 lots of existing setUp with mox. However, even in the latter case you
 can usually use mock after resetting the mox setup via
 self.mox.ResetAll() in the new test case(s). 
 I went ahead and added this to the wiki, so it's now an absolutely
inviolate policy. Unless, ya know, someone edits the wiki after me. ;-)

 Also, I put it in the common section because this doesn't seem like
something we should be doing differently per-project. If anyone objects,
feel free to add to the discussion here as to why.



 OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev [2] 


[2] http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131223/ece02722/attachment.html>

More information about the OpenStack-dev mailing list