On Thu, Jun 3, 2010 at 3:42 PM, Alexandre Bergel <alexandre@bergel.eu> wrote:
> You may have a lot of noise.
>
> I guess that Ruby uses files as a unit of development/deployment. The closest Smalltalk/Pharo has is the class and the package.
>
> I would suggest that TestCase which would use this feature use some pragma/method to identify/declare which classes/packages this test depends upon. Then the "autotest" framework would register such tests and listen for changes in the given classes/packages, launching required tests whenever a change happen.
>
> Additionally, one could declare such a pragma on a single test method, when this test should be run for a specific class.
>
> Of course, you also to take care of long running tests, which you probably want to exclude from auto-testing.

I see autotest in Pharo in a slighly different way: When I press save in the Monticello browser, I have a popup menu which asks me whether (i) I want to run all the tests or (ii) only the tests that cover that I changed from the last version.

Does this make sense?

Please no popup :) What I like in ruby autotest is that I can quickly look at test results if I want (or not) without stop writing. Often you want to see your tests failing, as you type / save code. I don't have to stop writing, click a button, wait test results, go again.... testing is done in background and I just see notifications whether it's OK or not.��

So test log in a Transcript is OK for me.


For autotest unit of work is file: it runs the test file which has the same name as the code file, but you can customize this behavior. For autotest-rails:
"A��simplified��version of Autotest heuristics in this mode would be:
When changing a test file, only this file is run (e.g.��test/unit/foo_test.rb�����test/unit/foo_test.rb).
When changing a model file, only associated unit test file is run (e.g.app/models/foo.rb�������test/unit/foo_test.rb).
When changing a controller file, associated functional test file is run (e.g.app/controllers/foo_controller.rb�����test/functional/foo_controller_test.rb).
When changing a fixture file, associated unit test and functional test are run (e.g.app/fixtures/foos.yml�������test/unit/foo_test.rb��+test/functional/foo_controller_test.rb).
When changing a helper file, associated functional test file is run (e.g.app/helpers/foo_helper.rb�����test/functional/foo_controller_test.rb).
When changing��application_helper.rb��file all functional test files are run (e.g.application_helper.rb�������test/functional/*_test.rb).
When changing a file under the��config��directory, all tests are run."

Laurent

��

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel ��http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.






_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project