Hi Romain,
And on the flip side, it might be nice to have a QuickTestCase too, that can be run all the time - like, every time you accept a method...
Hey, neat idea ... I got to put that on my todo list for BrowseUnit ;-)
So do you plan to connect that QuickTestCase - I think I call it one-method test ;-) - to the method under test?
A one-method test is dedicated to one method and, as it is _explicitly_ linked to that method, could be executed as soon as this method is changed/saved.
The most lightweight solution to explicitly create this link (I can think of ), would be to denote _the method under test_ in the test using a comment just before the call of the method under test: (here "test")
Example: =========== AccountTest >> testWithdrawOkFrom123 "setup" |anAccount | anAccount:= AccountTest new testDeposit100On123.
"test" anAccount withdraw: 60.
"asserts" self assert: anAccount balance = 40.
^anAccount =========== This is one part of the story. Another is, that tests could be composed, so that if its tests are called by other tests, this other tests should be executed:
In the example above only "AccountTest >> testWithdrawOkFrom123" would be executed if I changed "Account >> deposit", as it calls "AccountTest >> testDeposit100On123", which _is_ focusing on "Account >> deposit".
So composed tests should be a QuickTestCase for all explicitly linked methods.
Or do you plan to denote the tests in the method itself? I would prefer not, as you might run into problems with people who still :-) want to see their code independent of their tests, and who also want to rename a method without having to change the RefactoringBrowser, so that RB took denoting comments into account. (Above I can only use "test" and _not_ any name of a method to denote it...)
Actually I have some weeks to do a prototype for an Oopsla workshop with the nice name: "Revival of Dynamic Languages" and I would like to use services and browse-unit. Would you mind if I did it? Or do you have other design issues / solutions in mind I should know about?
My paper can be found on http://pico.vub.ac.be/~wdmeuter/RDL04/papers/Gaelli.pdf
Thanks a lot for your very nice work on Services and BrowseUnit.
Cheers,
Markus