Fwd: New helper library for unit-testing charms

Free Ekanayaka free.ekanayaka at canonical.com
Wed Oct 12 15:23:34 UTC 2016


Cross-posting here as well from juju-dev, since this might be more broadly
helpful to the community.

---------- Forwarded message ----------
From: Free Ekanayaka <free.ekanayaka at canonical.com>
Date: 11 October 2016 at 10:57
Subject: New helper library for unit-testing charms
To: "juju-dev at lists.ubuntu.com" <juju-dev at lists.ubuntu.com>


Hello,

I published a couple of new Python packages aimed at making unit tests for
charms easier and nicer:

https://github.com/freeekanayaka/charm-test
https://github.com/freeekanayaka/systemfixtures

They implement the classic approach [0] of replacing the "boundaries" of a
charm (hook tools, processes, filesystem, network, etc) with realistic
fakes, so your unit tests run actual code as much as possible and you don't
have to mock internal APIs that directly or indirectly interact with the
boundaries (often leading to mocking explosion).

Besides the package documentation, you might want to have a look to the
jenkins charm reactive rewrite branch [1] to see some real-world use.

If there's interest around this, we could move the code under the juju
GitHub tree, or even merge it to the charm.unit package [2].

Cheers,

Free

[0] http://martinfowler.com/articles/mocksArentStubs.html
[1] https://github.com/freeekanayaka/layer-jenkins
[2] https://github.com/juju-solutions/charms.unit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/juju/attachments/20161012/35a4631b/attachment.html>


More information about the Juju mailing list