[#4341] DRY and embedded docs. — Hugh Sasse Staff Elec Eng <hgs@...>
If I have a here document in some ruby program:
[#4347] Re: DATA and rewind. — ts <decoux@...>
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#4350] Re: Thirty-seven Reasons [Hal Fulton] Love[s] Ruby — "David Douthitt" <DDouthitt@...>
[#4396] Re: New Require (was: RAA development ideas (was: RE: Looking for inp ut on a 'links' page)) — Hugh Sasse Staff Elec Eng <hgs@...>
On 9 Aug 2000, Dave Thomas wrote:
[#4411] Re: RAA development ideas (was: RE: Lookin g for inp ut on a 'links' page) — Aleksi Niemel<aleksi.niemela@...>
Me:
On Thu, 10 Aug 2000, [iso-8859-1] Aleksi Niemelwrote:
[#4465] More RubyUnit questions. — Hugh Sasse Staff Elec Eng <hgs@...>
I am beginning to get a feel for this, but I still have a few more
[#4478] Re: RubyUnit. Warnings to be expected? — ts <decoux@...>
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#4481] Invoking an extension after compilation — Dave Thomas <Dave@...>
Hi,
[#4501] What's the biggest Ruby development? — Dave Thomas <Dave@...>
[#4502] methods w/ ! giving nil — Hugh Sasse Staff Elec Eng <hgs@...>
I have got used to the idea that methods that end in '!' return nil if
[#4503] RubyUnit and encapsulation. — Hugh Sasse Staff Elec Eng <hgs@...>
My_class's instance variables are not all "attr :<name>" type variables,
[#4537] Process.wait bug + fix — Brian Fundakowski Feldman <green@...>
If your system uses the rb_waitpid() codepath of rb_f_wait(),
[#4567] Re: What's the biggest Ruby development? — Aleksi Niemel<aleksi.niemela@...>
Dave said:
Robert Feldt <feldt@ce.chalmers.se> writes:
On Sat, 26 Aug 2000, Dave Thomas wrote:
Robert Feldt <feldt@ce.chalmers.se> writes:
On Mon, 28 Aug 2000, Dave Thomas wrote:
Robert Feldt <feldt@ce.chalmers.se> writes:
[#4591] Can't get Tcl/Tk working — Stephen White <steve@...>
I can't get any of the samples in the ext/tk/sample directory working. All
I'm sure looking forwards to buying the book. :)
Stephen White <steve@deaf.org> writes:
On Sun, 27 Aug 2000, Dave Thomas wrote:
Stephen White <steve@deaf.org> writes:
[#4608] Class methods — Mark Slagell <ms@...>
Reading the thread about regexp matches made me wonder about this:
[#4611] mod_ruby 0.1.19 — shreeve@...2s.org (Steve Shreeve)
Shugo (and others),
[#4633] Printing tables — DaVinci <bombadil@...>
Hi.
[#4647] Function argument lists in parentheses? — Toby Hutton <thutton@...>
Hello,
[#4652] Andy and Dave's European Tour 2000 — Dave Thomas <Dave@...>
Hi,
[#4672] calling super from c — Robert Feldt <feldt@...>
[#4699] Double parenthesis — Klaus Spreckelsen <ks@...1.ruhr-uni-bochum.de>
Why is the first line ok, but the second line is not?
[ruby-talk:04426] RE: Getting started with RubyUnit?
I'd say the distributed package should contain all necessary instructions
and pointers. I don't know if it's too much to ask, but as you learn things
now, could you mark down all what you've found out and what's missing from
the docs.
That list could be the basis (or the complete solution) for the better docs.
Particularly for RubyUnit I'd do this, but I've noticed that it works best
when you don't know anything about the thing, as you don't have to pretend
"asking stupid questions". At least, I don't have to :). Anyway, I know
something about RubyUnit framework so it's not working for me anymore.
Well, here's something to get you started. I assume you have installed
RubyUnit.
For each tested component (be it one file, one class, one method, the whole
system...) I create one file test_foo.rb.
The basic content in it is like this:
require "runit/testcase"
require "foo"
class Test_Foo < RUNIT::TestCase
# setup is called for each test, to provide, well, fresh setup :)
def setup
@foo_has = TheSetup.new("for each test, don't use if you don't need it")
end
# test's are like this, they have to start with "test_"
# I continue with test number, to get them executed in some order
def test_01_constructor
# this test actually does not use what setup provides already
foo = Foo.new
assert_equal("foo", foo.foo) # expect foo.foo to return "foo"
end
def test_02_bar
@foo.bar # uses what's setupped
assert( @foo.bar == nil ) # assert call to the object bar returns
# method == with parameter nil
# returns something evaluating true
end
end
if $0 == __FILE__
# here's my small driver to make this file runnable, thus self-standing
test
require 'runit/cui/testrunner'
require 'runit/testsuite'
runner = RUNIT::CUI::TestRunner.new
# here you say what you want to test
runner.run RUNIT::TestSuite.new(Test_Foo)
end
################3
Look RubyUnit examples and assert.rb through to see what you can do and
assert.
Study these URLs a little.
http://www.c2.com/cgi/wiki?UnitTests
c2.com's pages at wiki at not bad to read completely!
http://www.c2.com/cgi/wiki?TestingFramework
Other implementations (and variations and examples). Notable Ruby is missing
:(.
http://www.xprogramming.com/software.htm
Other implementations, notable Ruby is present.
http://www.xprogramming.com/testfram.htm
The Kent Beck's page explaining the framework. It's in smalltalk, so Ruby
one was a little bit easier to me, but I'd say this is the authorative :).
- Aleksi