[Pharo-project] Autotest (TDD), request for comments
Hi, Autotest is a live testing tool (similar too Ruby Autotest, but the Smalltalk way, more dynamic). Autotest automatically runs tests related to the methods you edit. Screencast to see it in action: http://lolgzs.free.fr/pharo/autotest3.mpeg Autotest uses the following heuritics to find the tests to run: - if the method is a test, runs it - it the method is a test setUp or tearDown, run all the tests of the TestCase - else find all senders which are tests in the same package and runs them (it detects different packages that are related, for example ProfStef-Core and ProfStef-Test) To activate the Autotest dashboard: - open the settings browser - go under System - check "Show Autotest Dashboard" option To load it: Gofer new squeaksource: 'Autotest'; package: 'Autotest'; load HelpSystem book included. I would like to know what needs enhancements, what to add (and to remove :) and whether you would use it or not (and why). Thanks for feedback. Cheers, Laurent Laffont http://pharocasts.blogspot.com/ http://magaloma.blogspot.com/
Hello, I started to add a log to Autotest to view the list of ran tests. I added a new button in the Dashboard, it open a new window with a PluggableListMorph in it. I have then many questions : - what information should we display in this list ? - I feel we might need to empty the log sometimes so I would add a «Clean» or «Empty» button in Log window, is this OK ? - I think we should give a maximum size to the log as it could become very large, what would be a meaningful max size ? should it go to a preference ? Cheers, 2010/6/17 laurent laffont <laurent.laffont@gmail.com>:
Hi, Autotest is a live testing tool (similar too Ruby Autotest, but the Smalltalk way, more dynamic). Autotest automatically runs tests related to the methods you edit. Screencast to see it in action:Â http://lolgzs.free.fr/pharo/autotest3.mpeg Autotest uses the following heuritics to find the tests to run: - if the method is a test, runs it - it the method is a test setUp or tearDown, run all the tests of the TestCase - else find all senders which are tests in the same package and runs them (it detects different packages that are related, for example ProfStef-Core and ProfStef-Test) To activate the Autotest dashboard: - open the settings browser - go under System - check "Show Autotest Dashboard" option To load it: Gofer new squeaksource: 'Autotest'; package: 'Autotest'; load HelpSystem book included.
I would like to know what needs enhancements, what to add (and to remove :) and whether you would use it or not (and why). Thanks for feedback. Cheers, Laurent Laffont
http://pharocasts.blogspot.com/ http://magaloma.blogspot.com/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Patrick Barroca
On Mon, Jun 21, 2010 at 10:28 AM, Patrick Barroca <patrick.barroca@gmail.com
wrote:
Hello,
I started to add a log to Autotest to view the list of ran tests. I added a new button in the Dashboard, it open a new window with a PluggableListMorph in it.
I have then many questions : - what information should we display in this list ?
Would be cool to show: - method which triggers Autotest - list of TestCase run (so we can also manually check the heuristics and improve them)
- I feel we might need to empty the log sometimes so I would add a «Clean» or «Empty» button in Log window, is this OK ?
If there's a small log size maybe we don't need this
- I think we should give a maximum size to the log as it could become very large, what would be a meaningful max size ? should it go to a preference ?
You can start with a method which returns a fixed size (like 10). Then if there's a need to adjust the size we can go on preferences. Keep it simple. Thank you :) Laurent
Cheers,
2010/6/17 laurent laffont <laurent.laffont@gmail.com>:
Hi, Autotest is a live testing tool (similar too Ruby Autotest, but the Smalltalk way, more dynamic). Autotest automatically runs tests related to the methods you edit. Screencast to see it in action: http://lolgzs.free.fr/pharo/autotest3.mpeg Autotest uses the following heuritics to find the tests to run: - if the method is a test, runs it - it the method is a test setUp or tearDown, run all the tests of the TestCase - else find all senders which are tests in the same package and runs them (it detects different packages that are related, for example ProfStef-Core and ProfStef-Test) To activate the Autotest dashboard: - open the settings browser - go under System - check "Show Autotest Dashboard" option To load it: Gofer new squeaksource: 'Autotest'; package: 'Autotest'; load HelpSystem book included.
I would like to know what needs enhancements, what to add (and to remove :) and whether you would use it or not (and why). Thanks for feedback. Cheers, Laurent Laffont
http://pharocasts.blogspot.com/ http://magaloma.blogspot.com/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Patrick Barroca
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/6/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
Autotest is a live testing tool (similar too Ruby Autotest, but the Smalltalk way, more dynamic).
Autotest automatically runs tests related to the methods you edit. Screencast to see it in action: http://lolgzs.free.fr/pharo/autotest3.mpeg
Hi Laurent. I have just test it and I really like it. I wasn't aware at all what a Autotest was (I don't know Ruby).
Autotest uses the following heuritics to find the tests to run: - if the method is a test, runs it - it the method is a test setUp or tearDown, run all the tests of the TestCase - else find all senders which are tests in the same package and runs them (it detects different packages that are related, for example ProfStef-Core and ProfStef-Test)
maybe a new feature: when modifying a TestResource, run all the tests that references it ? what happens with subclasses? suppose I refactor/modify a subclass, do you also run the tests of the superclasses?
To activate the Autotest dashboard
- open the settings browser
- go under System - check "Show Autotest Dashboard" option
Here I am confused. This setting, just enables de dashborad or the run of the tests? I guess one thing is to run the tests and another one is to see them in the dashborad. I would love to be able to enable/disable AutoTest completly. In addition, I think we can add AutoTest to PharoDev 1.2 images. What you and others think?
To load it:
Gofer new squeaksource: 'Autotest'; package: 'Autotest'; load
HelpSystem book included.
I would like to know what needs enhancements, what to add (and to remove :) and whether you would use it or not (and why).
Thanks for feedback.
Cheers,
Laurent Laffont
http://pharocasts.blogspot.com/ http://magaloma.blogspot.com/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/6/21 Mariano Martinez Peck <marianopeck@gmail.com>
2010/6/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
Autotest is a live testing tool (similar too Ruby Autotest, but the Smalltalk way, more dynamic).
Autotest automatically runs tests related to the methods you edit. Screencast to see it in action: http://lolgzs.free.fr/pharo/autotest3.mpeg
Hi Laurent. I have just test it and I really like it. I wasn't aware at all what a Autotest was (I don't know Ruby).
Cool ! Personnally I really like Ruby Autotest and I use a similar script for PHP. I can't do TDD without it :)
Autotest uses the following heuritics to find the tests to run:
- if the method is a test, runs it - it the method is a test setUp or tearDown, run all the tests of the TestCase - else find all senders which are tests in the same package and runs them (it detects different packages that are related, for example ProfStef-Core and ProfStef-Test)
maybe a new feature: when modifying a TestResource, run all the tests that references it ?
Good idea.
what happens with subclasses? suppose I refactor/modify a subclass, do you also run the tests of the superclasses?
Now there's no heuristics on the class level, only method / package. So as long as there's a sender of the method you edit, tests will run. You can have a look at AutotestFinder, heuristics protocol.
To activate the Autotest dashboard
- open the settings browser
- go under System - check "Show Autotest Dashboard" option
Here I am confused. This setting, just enables de dashborad or the run of the tests? I guess one thing is to run the tests and another one is to see them in the dashborad.
I would love to be able to enable/disable AutoTest completly.
Closing the dashboard disables Autotest completly. AutotestDashboard sets up as a view of its Autotest instance. When you close it garbageCollect to be sure Autotest>>release is called.
In addition, I think we can add AutoTest to PharoDev 1.2 images. What you and others think?
I would like more feedback. If you use it you notice that your workflow changes because of that instant feedback. I'm looking for people who use it on real TDD for real projects (as I'm only pharoing on my freetime). I think it can be a great tool we cannot have in «standard» programming languages. Cheers, Laurent
To load it:
Gofer new squeaksource: 'Autotest'; package: 'Autotest'; load
HelpSystem book included.
I would like to know what needs enhancements, what to add (and to remove :) and whether you would use it or not (and why).
Thanks for feedback.
Cheers,
Laurent Laffont
http://pharocasts.blogspot.com/ http://magaloma.blogspot.com/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
what happens with subclasses? suppose I refactor/modify a subclass, do you also run the tests of the superclasses?
Now there's no heuristics on the class level, only method / package. So as long as there's a sender of the method you edit, tests will run. You can have a look at AutotestFinder, heuristics protocol.
ok...
To activate the Autotest dashboard
- open the settings browser
- go under System - check "Show Autotest Dashboard" option
Here I am confused. This setting, just enables de dashborad or the run of the tests? I guess one thing is to run the tests and another one is to see them in the dashborad.
I would love to be able to enable/disable AutoTest completly.
Closing the dashboard disables Autotest completly. AutotestDashboard sets up as a view of its Autotest instance. When you close it garbageCollect to be sure Autotest>>release is called.
So..maybe a better description in the Settings would be "Enable AutoTest" or something like that, refering to enable/disable AutoTest rather than Dashboard.
In addition, I think we can add AutoTest to PharoDev 1.2 images. What you and others think?
I would like more feedback. If you use it you notice that your workflow changes because of that instant feedback. I'm looking for people who use it on real TDD for real projects (as I'm only pharoing on my freetime). I think it can be a great tool we cannot have in «standard» programming languages.
ok...
Cheers,
Laurent
To load it:
Gofer new squeaksource: 'Autotest'; package: 'Autotest'; load
HelpSystem book included.
I would like to know what needs enhancements, what to add (and to remove :) and whether you would use it or not (and why).
Thanks for feedback.
Cheers,
Laurent Laffont
http://pharocasts.blogspot.com/ http://magaloma.blogspot.com/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
So..maybe a better description in the Settings would be "Enable AutoTest" or something like that, refering to enable/disable AutoTest rather than Dashboard.
OK. Indeed, if you look at World Menu > Tools > Autotest there's another example of view (SUnit-like). Laurent
In addition, I think we can add AutoTest to PharoDev 1.2 images. What you and others think?
I would like more feedback. If you use it you notice that your workflow changes because of that instant feedback. I'm looking for people who use it on real TDD for real projects (as I'm only pharoing on my freetime). I think it can be a great tool we cannot have in «standard» programming languages.
ok...
Cheers,
Laurent
To load it:
Gofer new squeaksource: 'Autotest'; package: 'Autotest'; load
HelpSystem book included.
I would like to know what needs enhancements, what to add (and to remove :) and whether you would use it or not (and why).
Thanks for feedback.
Cheers,
Laurent Laffont
http://pharocasts.blogspot.com/ http://magaloma.blogspot.com/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
In addition, I think we can add AutoTest to PharoDev 1.2 images. What you and others think?
yes even if we should think about having a nice metacelloRepository browser to load the components.
To load it:
Gofer new squeaksource: 'Autotest'; package: 'Autotest'; load
HelpSystem book included.
I would like to know what needs enhancements, what to add (and to remove :) and whether you would use it or not (and why).
Thanks for feedback.
Cheers,
Laurent Laffont
http://pharocasts.blogspot.com/ http://magaloma.blogspot.com/
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (4)
-
laurent laffont -
Mariano Martinez Peck -
Patrick Barroca -
Stéphane Ducasse