Hi again.
Here is the Regex asserter. It’s a trivial
match implementation.
It can easily be expanded to include more complex Regex functionality, if
that's what you're going for.
Info about how I implemented the
OutputAttributeToXML is most easily found on my blog here: http://idp.satr-it.com/index.php/2005/11/23/nunit-test-severity/
I am definitely interested in implementing
the TimeoutAttribute. I think that it will probably require some
additions/changes to the core extensibility mechanism to allow for more
powerful extensions. I am not certain how this would work yet. Let me take another
look at the current mechanism and try to see what is actually necessary.
Enjoy,
Shmarya
From: Charlie Poole [mailto:cpoole@xxxxxxxxxxxxxxxxxxx]
Sent: Thursday, December 08, 2005
9:05 PM
To: Rubenstein,
Shmarya; nunit-developer@xxxxxxxxxxxxxxxxxxxxx
Subject: RE: [nunit-developer]
Active User Stories
Hi Shmarya,
First, the general
approach to contributing, for the benefit of any others on the list, as well as
for you directly…
Contact us via this list,
or directly, to figure out what you might best work on. To avoid overlap,
it’s a good idea to do this before you start.
Some Open Source projects
take just about all contributions while others are tightly controlled. NUnit is
somewhere in the middle. We want to ensure that what we implement fits the
vision we have for the software. At the same time, we feel that folks with new
ideas need to be heard from.
The developer’s
wiki was our first attempt to strike a balance. We maintain
“stories” there in various categories. ActiveStories are being
worked on – although the page will not necessarily tell you by whom. New
Stories are those we have not yet discussed, so we may or may not want to do
them. HelpWanted lists stories we are actively seeking volunteers for.
Unfortunately, the wiki
has not attracted a lot of use. Most of the updates have been from me, so
I’ve been considering this as a failed approach and probably not worth
maintaining. Shmarya, you made an update about two weeks ago, but it didn’t
get noticed. If people think the wiki should be revived, please let me know
– along with any ideas on how to revive it.
Recently, I created a
Development section of the website and moved the wiki NUnit Vision and Roadmap
pages there. See http://nunit.com/testweb/index.php?p=roadmap.
Along with the old “Community” page, these give a general idea of
where we want to go. What we lack – at least IMO – is a specific
set of instructions about what to do if you want to contribute. Ideas are
welcome.
Now to the specific
case..
RegexAssert was an active
story, but not much has been done. Please send me your code and we’ll
take it from there. You can use either charlie@xxxxxxxxx
or charlie@xxxxxxxxxxxxxxxxxxx.
MarkTestsWithSeverity is
about allowing tests to have a “level of failure.” Traditional unit
testing says that everything has to pass. I’d want to have a lot of
discussion about this before implementing it in NUnit. As an extension –
not part of the core – I have fewer problems with it. See http://nunit.com/testweb/index.php?p=vision
for a bit about the role of extensions in implementing non-unit-testing,
non-TDD features in NUnit. Shall we try to have discussion on this list?
OutputTestAttribute to
Xml seems like a nice idea. I’m offline as I write this, so I
haven’t been able to look at your website yet. How do you distinguish
which attributes should go to the XML? Are you assuming that all unrecognized
attributes are for this purpose? How will you deal with addins that process
attributes on their own? This one is more of a technical discussion than a
philosophical one, so we can go offline for the details. One issue will come up
for NUnit 2.6… I’d like to see what – if any –
standards exist for reporting on tests using XML and conform to one of them. If
there are none, I guess we can create one.
TimeOutAttribute, as I
noted in the wiki, would make a super extensibility example. I particularly
like it because it points out a weakness in our extensibility model that I
would like to fix. As currently used, you can create a custom test fixture or
test case. But you can’t take an existing test case and add an attribute
to it, adding behavior to what’s already there. It’s pretty obvious
that the decorator pattern is involved, but the mechanics of specifying a
decorator in a way that it can be applied to any test case, including
extensions that have not yet been written, is tricky. This is definitely an
order of magnitude more challenging than just implementing TimeOutAttribute as
a part of the nunit core, but if you’re up for it we should discuss in
more detail.
It’s great to see
your enthusiasm for contributing. The roadmap is actually a two-way street. It
tells us where we want to go, but individual contributors have their own
interests and that changes the roadmap. Take a look at it and get back to me
offline about other areas you’d like to work in as well.
Charlie
Charlie
From:
nunit-developer-admin@xxxxxxxxxxxxxxxxxxxxx
[mailto:nunit-developer-admin@xxxxxxxxxxxxxxxxxxxxx] On Behalf Of Rubenstein, Shmarya
Sent: Wednesday, December 07, 2005
10:25 PM
To:
nunit-developer@xxxxxxxxxxxxxxxxxxxxx
Subject: [nunit-developer] Active
User Stories
Hi,
I've implemented the following story from the Active Stories list on
the Wiki.
http://nunit.com/devwiki.cgi?RegexAssert
They didn't seem to be assigned to anyone.
Where can I submit the code?
I have also implemented these stories from the New Stories list (I
submitted the stories as well).
http://nunit.com/devwiki.cgi?MarkTestsWithSeverity
http://nunit.com/devwiki.cgi?OutputTestAttributeToXml
I also have a partially completed implementation of this story:
http://nunit.com/devwiki.cgi?TimeoutAttribute
I'd love to be able to contribute my implementations, and get some
guidance on which stories have highest priority and are unassigned, so I can
spend my time working on the most valuable stuff I can.
Thanks,
NDS Technologies Israel – srubenstein@xxxxxxx - +972 2 5894350 -
+972 52 8819507
***********************************************************************************
This email message and any attachments thereto are intended only for use by the
addressee(s) named above, and may contain legally privileged and/or
confidential information. If the reader of this message is not the intended
recipient, or the employee or agent responsible to deliver it to the intended
recipient, you are hereby notified that any dissemination, distribution or
copying of this communication is strictly prohibited. If you have received this
communication in error, please immediately notify the postmaster@xxxxxxx and
destroy the original message.
***********************************************************************************
***********************************************************************************