Reusing and Composing Tests with Traits - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2009

Reusing and Composing Tests with Traits


Single inheritance often forces developers to duplicate code and logic. This widely recognized situation affects both business code and tests. In a large and complex application whose classes implement many groups of methods (protocols), duplication may also follow the application's idiosyncrasies, making it difficult to specify, maintain, and reuse tests. The research questions we faced are (i) how can we reuse test specifications across and within complex inheritance hierarchies, especially in presence of orthogonal protocols; (ii) how can we test interface behavior in a modular way; (iii) how far can we reuse and parametrize composable tests. In this paper, we compose tests out of separately specified behavioral units of reuse —traits. We propose test traits, where: (i) specific test cases are composed from independent specifications; (ii) executable behavior specifications may be reused orthogonally to the class hierarchy under test; (iii) test fixtures are external to the test specifications, thus are easier to specialize. Traits have been successfully applied to test two large and critical class libraries in Pharo, a new Smalltalk dialect based on Squeak, but are applicable to other languages with traits.
Fichier principal
Vignette du fichier
Reusing_Composing.pdf (239.13 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

inria-00403568 , version 1 (10-07-2009)


  • HAL Id : inria-00403568 , version 1


Stéphane Ducasse, Damien Pollet, Alexandre Bergel, Damien Cassou. Reusing and Composing Tests with Traits. TOOLS'09: 47th International Conference on Objects, Components, Models and Patterns, Oct 2009, New York, United States. pp.252-271. ⟨inria-00403568⟩
192 View
366 Download


Gmail Mastodon Facebook X LinkedIn More