<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
On 26/09/2010 19:43, Arve Knudsen wrote:
<blockquote
cite="mid:AANLkTinmPdPBmK7KcXZw+CEkEU+t38aOCA4sp36RTDVV@mail.gmail.com"
type="cite">Hi
<div><br>
</div>
<div>As I've been tinkering with nose2 and unittest2, and got to
know the two better, the question has emerged as to exactly
which role nose2 is meant to fulfill on top of unittest2.</div>
<div><br>
</div>
<div>With the original unittest, nose's raison de vivre is pretty
clear; seeing as unittest is rather an archaic/inflexible
framework, there is an obvious need of a more modern, practical
alternative. nose offers such an improved alternative. unittest2
on the other hand changes the game, as it is being designed with
today's needs in mind, and is plugin-based (like nose). That
unittest2 is a sound design is evidenced by the fact that nose2
implements its functionality as unittest2 plugins.</div>
<div><br>
</div>
</blockquote>
<br>
Hello Arve,<br>
<br>
Well, presuming to speak for Jason here (partly)... My
understanding, as author of the unittest2 plugins code, is as
follows.<br>
<br>
The purpose of the plugins machinery being developed for unittest2
is to *allow* useful popular and frequently requested functionality
for unittest (such as that provided by nose) to be provided in clean
and simple ways. The plugins branch itself is not *intended* to
replace nose - merely make it dramatically simpler to implement and
maintain. That at least is the goal.<br>
<br>
The situation is confused by the fact that in order to ensure the
plugins branch meets its goal I have implemented various 'example'
plugins that have some overlap with the nose functionality.
*However*, these plugins only cover a relatively small subset of the
nose functionality.<br>
<br>
The purpose of nose2 is to provide the functionality of nose using
unittest2 plugins. This includes goals like, wherever possible,
backwards compatibility with existing nose tests. (But not existing
nose plugins as the mechanisms are too different.) <br>
<br>
<br>
<br>
<blockquote
cite="mid:AANLkTinmPdPBmK7KcXZw+CEkEU+t38aOCA4sp36RTDVV@mail.gmail.com"
type="cite">
<div>Given that the meat of nose2 (excepting the runner) is
already unittest2 plugins, how does one define nose2's role? Why
is there even a nose2 runner, can't one simply develop plugins
to integrate with the unittest2 runner? More to the point, when
now wanting to extend unittest2, why write plugins for nose2
rather than unittest2 itself?</div>
</blockquote>
<br>
This is an interesting question. In a way nose2 becomes a set of
unittest2 plugins, including replacing and extending some of the
'default' plugins for unittest2. It is possible that some of the
existing unittest2 example plugins may move into separate projects
or into nose2. <br>
<br>
It could also easily become the case that nose2 provides useful
libraries and functionality for writing unittest2 plugins. The nose2
runner exists to load the nose2 configuration and configure the
nose2 plugins. (Otherwise the user would have to have the nose2
configuration in *their* config file as well as any additional
plugins they wanted to configure.)<br>
<br>
At the *moment* the main reason to be interested in working on nose2
is because it is the future of nose - for both Python 2 and Python
3. If you are interested in the future of nose, or being able to
write nose style tests with unittest for Python 3, then contributing
to nose2 is an effective way of making that happen. Meanwhile the
role of nose2 will grow and become clearer.<br>
<br>
All the best,<br>
<br>
Michael Foord<br>
<br>
<blockquote
cite="mid:AANLkTinmPdPBmK7KcXZw+CEkEU+t38aOCA4sp36RTDVV@mail.gmail.com"
type="cite">
<div><br>
</div>
<div>Hope these questions make sense :)</div>
<div><br>
</div>
<div>Arve</div>
<pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
testing-in-python mailing list
<a class="moz-txt-link-abbreviated" href="mailto:testing-in-python@lists.idyll.org">testing-in-python@lists.idyll.org</a>
<a class="moz-txt-link-freetext" href="http://lists.idyll.org/listinfo/testing-in-python">http://lists.idyll.org/listinfo/testing-in-python</a>
</pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
<a class="moz-txt-link-freetext" href="http://www.ironpythoninaction.com/">http://www.ironpythoninaction.com/</a>
<a class="moz-txt-link-freetext" href="http://www.voidspace.org.uk/blog">http://www.voidspace.org.uk/blog</a>
READ CAREFULLY. By accepting and reading this email you agree, on behalf of your employer, to release me from all obligations and waivers arising from any and all NON-NEGOTIATED agreements, licenses, terms-of-service, shrinkwrap, clickwrap, browsewrap, confidentiality, non-disclosure, non-compete and acceptable use policies (”BOGUS AGREEMENTS”) that I have entered into with your employer, its partners, licensors, agents and assigns, in perpetuity, without prejudice to my ongoing rights and privileges. You further represent that you have the authority to release me from any BOGUS AGREEMENTS on behalf of your employer.
</pre>
</body>
</html>