On Tue, Nov 12, 2002 at 01:31:43AM +0000, Mark Fowler wrote:
> > Test::Builder->new would remain as a singleton.  We'd just provide an
> > alternate constructor to provide a second object if someone really wants it.
> 
> You know, that would at the very least tidy up Test::Builder::Tester 
> somewhat.  It's currently just a bit of a hack...(sssh, I didn't really 
> say that)

That's two votes.


> > > > With two T::B objects, we could beat on one object while leaving
> > > > another in a normal state to perform the tests.
> 
> One day (maybe not this rewrite, maybe not the next) I'd like to see you
> be able to write layers of tests.  That is to say that you have some kind
> of Test::Harness like system running actually inside a Test::Builder test
> that runs another set of tests and returns "ok" or "not ok" if all *its*
> tests returned "ok" or not.  And then you could have subtests within that,
> down to an arbitary level of abstraction.  Does this make sense?

Test::Harness::Straps->analyze* already do that if I understand you
correctly.


> Not that I'm one to break OO boundaries, but by allowing of breaking the
> OO boundaries just a little bit by skipping the accessors you could just
> do this, which means you are less likey to shoot yourself in the foot with 
> forgeting to reset the outputs back again.
> 
>    package Test::Builder::Log::like;           
>    
>    my %outputs = map { ($_ => 'some_output.log') } qw(test failure todo);
>    sub like {
>      my ($self) = shift;
> 
>      local $self->{outputs} = \%outputs;
>      local $Test::Builder::Level = $Test::Builder::Level + 1;
> 
>      return $self->SUPER::like(@_)
>    }

<Lament>Oh, to have real end-of-scope conditions.</Lament>


> > > > The real reason why I put all the data into lexicals rather than a hash is
> > > > because its easier to type $Have_Plan than $self->{Have_Plan}.
> 
> http://magnonel.guild.net/~schwern/talks/Refactoring/slides/slide015.html
> 
> ;-)

The nice part about refactorings is they're reversable.


-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Perl Quality Assurance      <[EMAIL PROTECTED]>         Kwalitee Is Job One
That which stirs me, stirs everything.
        -- Squonk Opera, "Spoon"

Reply via email to