Reusing and Composing Tests with Traits - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2009

Reusing and Composing Tests with Traits

Résumé

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
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

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

Identifiants

  • HAL Id : inria-00403568 , version 1

Citer

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⟩
191 Consultations
357 Téléchargements

Partager

Gmail Facebook X LinkedIn More