On 18 nov. 2013, at 13:07, Esteban A. Maringolo <emaringolo@gmail.com> wrote:
I don't like having the Unit Tests so coupled with the code.
Many times I implement Unit Tests that doesn't match 1:1 with a class. It is... the TestCase subclass doesn't have a corresponding class (eg. SomeFeatureTest, with no SomeFeature class in the system).
IMO, you're talking about functional tests, not unit tests. While a unit test is done in isolation and is concerned with one "unit" (typically a method), an acceptance test tests a feature of your application that will typically crosscut many units. In Pyret, they have another clause "check" for that purpose.
Regards,
Esteban A. Maringolo
2013/11/18 Camille Teruel <camille.teruel@gmail.com>:
On 17 nov. 2013, at 15:16, Tudor Girba <tudor@tudorgirba.com> wrote:
I stumbled across this idea when Markus Gaelli chose it as a PhD topic about ten years ago (man, I'm old). The main idea was not to provide tests, but examples that happened to have assertions. The goal was twofold: (1) provide live documentation with real objects, (2) provide another way of composing tests.
The project did not really come to fruition, but I still think this is highly interesting topic. Part of the ideas were later implemented in Phexample (http://www.smalltalkhub.com/#!/~Phexample/Phexample/) and JExample (http://scg.unibe.ch/research/jexample).
Cheers, Doru
There was a presentation of the Pyret language at SCRIPT workshop last week. This way of coupling unit tests with functions is indeed interesting. One the one hand I feel it's like a mixing of concerns, on the other hand it's push unit-tests into the language. The funny part is that the examples provided are used to type the function:
fun id(x): x where: id(3) is 3 id("bla") is "bla" end
is typed as 'a -> 'a whereas:
fun id(x): x where: id(3) is 3 end
is typed as int -> int
On Sun, Nov 17, 2013 at 3:08 PM, Andy Burnett <andy.burnett@knowinnovation.com> wrote:
I have just come across the Pyret language. It looks interesting, but the part which particularly caught my interest was the way that they had built the unit tests directly into the classes, rather than having separate test classes.
I think this is an interesting idea. It seems as though it would be easier to manage writing tests if everything were in one location. And this - might - mean that people were more likely to write tests.
Has anyone else looked at this, and have an opinion on whether it would be a good addition to Pharo 4/5/X?
Cheers Andy
-- www.tudorgirba.com
"Every thing has its own flow"