~ubuntu-branches/ubuntu/raring/nova/raring-proposed

« back to all changes in this revision

Viewing changes to nova/testing/README.rst

  • Committer: Package Import Robot
  • Author(s): Chuck Short, Adam Gandelman, Chuck Short
  • Date: 2012-11-23 09:04:58 UTC
  • mfrom: (1.1.66)
  • Revision ID: package-import@ubuntu.com-20121123090458-91565o7aev1i1h71
Tags: 2013.1~g1-0ubuntu1
[ Adam Gandelman ]
* debian/control: Ensure novaclient is upgraded with nova,
  require python-keystoneclient >= 1:2.9.0. (LP: #1073289)
* debian/patches/{ubuntu/*, rbd-security.patch}: Dropped, applied
  upstream.
* debian/control: Add python-testtools to Build-Depends.

[ Chuck Short ]
* New upstream version.
* Refreshed debian/patches/avoid_setuptools_git_dependency.patch.
* debian/rules: FTBFS if missing binaries.
* debian/nova-scheudler.install: Add missing rabbit-queues and
  nova-rpc-zmq-receiver.
* Remove nova-volume since it doesnt exist anymore, transition to cinder-*.
* debian/rules: install apport hook in the right place.
* debian/patches/ubuntu-show-tests.patch: Display test failures.
* debian/control: Add depends on genisoimage
* debian/control: Suggest guestmount.
* debian/control: Suggest websockify. (LP: #1076442)
* debian/nova.conf: Disable nova-volume service.
* debian/control: Depend on xen-system-* rather than the hypervisor.
* debian/control, debian/mans/nova-conductor.8, debian/nova-conductor.init,
  debian/nova-conductor.install, debian/nova-conductor.logrotate
  debian/nova-conductor.manpages, debian/nova-conductor.postrm
  debian/nova-conductor.upstart.in: Add nova-conductor service.
* debian/control: Add python-fixtures as a build deps.

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
 
55
55
TBD
56
56
 
57
 
Tests and assertRaises
58
 
----------------------
59
 
When asserting that a test should raise an exception, test against the
60
 
most specific exception possible. An overly broad exception type (like
61
 
Exception) can mask errors in the unit test itself.
 
57
Tests and Exceptions
 
58
--------------------
 
59
A properly written test asserts that particular behavior occurs. This can
 
60
be a success condition or a failure condition, including an exception.
 
61
When asserting that a particular exception is raised, the most specific
 
62
exception possible should be used.
 
63
 
 
64
In particular, testing for Exception being raised is almost always a
 
65
mistake since it will match (almost) every exception, even those
 
66
unrelated to the exception intended to be tested.
 
67
 
 
68
This applies to catching exceptions manually with a try/except block,
 
69
or using assertRaises().
62
70
 
63
71
Example::
64
72
 
65
73
    self.assertRaises(exception.InstanceNotFound, db.instance_get_by_uuid,
66
74
                      elevated, instance_uuid)
 
75
 
 
76
If a stubbed function/method needs a generic exception for testing
 
77
purposes, test.TestingException is available.
 
78
 
 
79
Example::
 
80
 
 
81
    def stubbed_method(self):
 
82
        raise test.TestingException()
 
83
    self.stubs.Set(cls, 'inner_method', stubbed_method)
 
84
 
 
85
    obj = cls()
 
86
    self.assertRaises(test.TestingException, obj.outer_method)