One-Method Commands: Linking Methods and Their Tests

Gaelli, Markus; Nierstrasz, Oscar; Ducasse, Stéphane (October 2004). One-Method Commands: Linking Methods and Their Tests. In: OOPSLA Workshop on Revival of Dynamic Languages. ACM

[img] Text
Gael04cLinkingMethodsAndTests.pdf - Published Version
Restricted to registered users only
Available under License Publisher holds Copyright.

Download (601kB) | Request a copy

Although unit testing is essential for programming, current languages only barely support the developer in composing unit tests into new ones or in navigating between unit tests and their corresponding methods under test. We have taken several Smalltalk programs and analyzed the relationships between unit tests and methods under test, and the re- lationships amongst unit tests. First results indicate that most unit tests can be seen or at least decomposed into commands which focus on single methods, and that large portions of unit tests overlap each other. But these relationships between unit tests and methods under test are not reflected in current languages. We therefore first conceptually extend the meta-model of Smalltalk with one-method commands so that unit tests become both com- posable and navigable. Then we introduce a first lightweight implementation of this meta model using method comments to differentiate between the several test phases of existing XUnit test case methods.

Item Type:

Conference or Workshop Item (Paper)

Division/Institute:

08 Faculty of Science > Institute of Computer Science (INF)
08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG)

UniBE Contributor:

Gälli, Markus; Nierstrasz, Oscar Marius and Ducasse, Stephane

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

Publisher:

ACM

Language:

English

Submitter:

Manuela Bamert

Date Deposited:

06 Nov 2017 12:09

Last Modified:

07 Nov 2017 01:24

BORIS DOI:

10.7892/boris.104519

URI:

https://boris.unibe.ch/id/eprint/104519

Actions (login required)

Edit item Edit item
Provide Feedback