Calypso idea - inherited tests
(Just a quick share from work before that neuron goes back to sleep and I forget it...) When a number of domain substitute classes need to satisfy the same tests, its useful to define these in a superclass and have subclasses define which domain class is being tested e.g. TestDelaySemaphoreSchedulerMmicrosecondTeicker>>classForScheduler.
From the Browser "all tests" can be run for each subclass by clicking the class's test-icon, but when that goes red, its not visible which individual test failed, and you can't run an individual test from the Browser.
In the same way that extension methods are shown in gray, it would be useful for inherited tests to be shown in gray, so each has an individual indication and can be run separately. cheers -ben
Hi Ben,
El 29 may 2019, a las 3:46, Ben Coman <btc@openinworld.com> escribió:
(Just a quick share from work before that neuron goes back to sleep and I forget it...)
When a number of domain substitute classes need to satisfy the same tests, its useful to define these in a superclass and have subclasses define which domain class is being tested e.g. TestDelaySemaphoreSchedulerMmicrosecondTeicker>>classForScheduler.
For a more complex scenario (but applying to this one too), we use in Spec and Iceberg parametrizable tests. Parametrizable tests define a matrix of values and then create dynamically 1 test case per configuration in the matrix. Still these matrixes do not yet have IDE support. Julien and Dayné have in their roadmap to make an integration with DrTests
From the Browser "all tests" can be run for each subclass by clicking the class's test-icon, but when that goes red, its not visible which individual test failed, and you can't run an individual test from the Browser.
Yes, Iâve seen this. I run the tests in the TestRunner as a workaround myself.
In the same way that extension methods are shown in gray, it would be useful for inherited tests to be shown in gray, so each has an individual indication and can be run separately.
cheers -ben
Hi Ben. There are already two features that support inherited tests: - run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests. - toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them. Is it what you are looking for? or do you need anything else? ÑÑ, 29 Ð¼Ð°Ñ 2019 г., 2:47 Ben Coman <btc@openinworld.com>:
(Just a quick share from work before that neuron goes back to sleep and I forget it...)
When a number of domain substitute classes need to satisfy the same tests, its useful to define these in a superclass and have subclasses define which domain class is being tested e.g. TestDelaySemaphoreSchedulerMmicrosecondTeicker>>classForScheduler.
From the Browser "all tests" can be run for each subclass by clicking the class's test-icon, but when that goes red, its not visible which individual test failed, and you can't run an individual test from the Browser.
In the same way that extension methods are shown in gray, it would be useful for inherited tests to be shown in gray, so each has an individual indication and can be run separately.
cheers -ben
On Thu, 30 May 2019 at 06:26, Denis Kudriashov <dionisiydk@gmail.com> wrote:
Hi Ben.
There are already two features that support inherited tests: - run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests. - toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.
Ahh, excellent... the second is exactly what I wanted. Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example, clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected" Do you get the same? cheers -ben
ÑÑ, 30 Ð¼Ð°Ñ 2019 г. в 04:59, Ben Coman <btc@openinworld.com>:
On Thu, 30 May 2019 at 06:26, Denis Kudriashov <dionisiydk@gmail.com> wrote:
Hi Ben.
There are already two features that support inherited tests: - run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests. - toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.
Ahh, excellent... the second is exactly what I wanted.
Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example, clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected" Do you get the same?
No I don't have it. I checked on Pharo 7 and latest Pharo 8
cheers -ben
On 29 May 2019, at 23:58, Ben Coman <btc@openinworld.com> wrote:
On Thu, 30 May 2019 at 06:26, Denis Kudriashov <dionisiydk@gmail.com <mailto:dionisiydk@gmail.com>> wrote: Hi Ben.
There are already two features that support inherited tests: - run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests. - toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.
Ahh, excellent... the second is exactly what I wanted.
Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example, clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected" Do you get the same?
Yes this happens to me often. I think that calypso forks too many processes.
cheers -ben
Hi guys. Would be nice to see the error stack. Which variable is nil in that case? I really do not see such errors. Is it pharo 7 or 8? ÑÑ, 30 Ð¼Ð°Ñ 2019 г., 11:17 ducasse <stepharo@netcourrier.com>:
On 29 May 2019, at 23:58, Ben Coman <btc@openinworld.com> wrote:
On Thu, 30 May 2019 at 06:26, Denis Kudriashov <dionisiydk@gmail.com> wrote:
Hi Ben.
There are already two features that support inherited tests: - run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests. - toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.
Ahh, excellent... the second is exactly what I wanted.
Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example, clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected" Do you get the same?
Yes this happens to me often. I think that calypso forks too many processes.
cheers -ben
I will try to save them when I get them.
On 30 May 2019, at 08:09, Denis Kudriashov <dionisiydk@gmail.com> wrote:
Hi guys.
Would be nice to see the error stack. Which variable is nil in that case?
I really do not see such errors. Is it pharo 7 or 8?
ÑÑ, 30 Ð¼Ð°Ñ 2019 г., 11:17 ducasse <stepharo@netcourrier.com <mailto:stepharo@netcourrier.com>>:
On 29 May 2019, at 23:58, Ben Coman <btc@openinworld.com <mailto:btc@openinworld.com>> wrote:
On Thu, 30 May 2019 at 06:26, Denis Kudriashov <dionisiydk@gmail.com <mailto:dionisiydk@gmail.com>> wrote: Hi Ben.
There are already two features that support inherited tests: - run all tests using class icon: there will be extra red method group "broken tests" which will show failed inherited tests. - toggle inheritance visibility with checkbox in third panel: you will see inherited tests and standard method icon will run them.
Ahh, excellent... the second is exactly what I wanted.
Although using TestDelaySemaphoreSchedulerMicrosecondTicker as an example, clicking on a test gives me an error "#selected was sent to nil" in "ClyBrowserToolMorph>>isTabSelected" Do you get the same?
Yes this happens to me often. I think that calypso forks too many processes.
cheers -ben
participants (4)
-
Ben Coman -
Denis Kudriashov -
ducasse -
Guillermo Polito