Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > Test::Unit: multiple level of testing

Thread Tools

Test::Unit: multiple level of testing

David Garamond
Posts: n/a
I'd like to get suggestions on how to use Test::Unit to fulfill the
following requirement simply and elegantly:

Each component (basically a Class, which most of the time reside in a
single source file) will have a unit test. There should be three levels
of unit testing:

1) normal level, which will be executed regularly during development.
This is basically "the" unit test as we usually understand and use. It
should do functional and regression testing for each and every method,
to make sure each functionality is implemented correctly and past bugs
do not creep in again.

2) diagnostic level, which will usually be executed if there is
something wrong going on. This level should include all tests from the
normal level, but the output/error messages should be more verbose than
level #1 (under normal circumstances, the verbosity of output/error
messages from #2 is more than necessary). Additionally, this level
should also include things like memory leak test, some performance test,

3) same as #2, but more verbose and rigorous. We don't normally run
tests at these level unless there is problem that can't be tracked using
#1 and #2.


Reply With Quote
Simon Strandgaard
Posts: n/a
On Sat, 28 Feb 2004 22:58:17 +0900, David Garamond wrote:

> I'd like to get suggestions on how to use Test::Unit to fulfill the
> following requirement simply and elegantly:

> 1) normal level,
> 2) diagnostic level,
> 3) same as #2, but more verbose and rigorous.

May I suggest that you have 3 files which does test_all, but with the
above levels of debugging enabled.

My test_all file does verbose integrity checks.. but doesn't output
anything. Its better to do too many tests than too few, watch out having 3
levels of tests.

Though I usually have 2 levels of console-output.. verbose and normal

# FILE='common.rb'
class TestCase < Test::Unit::TestCase
require 'test/unit/ui/console/testrunner', Test::Unit::UI::VERBOSE)

# FILE='test_helloworld.rb'
require 'common'
class TestScanner < Common::TestCase
def test_hello1
end if $0 == __FILE__

So that when I invoke the 'test_helloworld.rb' I get verbose output.
When I invoke 'test_all' I get normal output

Simon Strandgaard
Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Problems with multiple multiple-level inclusion of DTDs Peter Flynn XML 1 07-27-2008 08:14 PM
c is a low-level language or neither low level nor high level language pabbu C Programming 8 11-07-2005 03:05 PM
Is Cisco PIX Application level firewall or Packet level firewall? Learning Cisco Cisco 3 10-15-2005 12:55 AM
Accessing higher security level from higher security level Cisco 0 07-11-2005 10:20 PM
Page Level and Applicatoin Level Custom Errors ASP .Net 2 02-13-2005 02:03 AM