TIP #452: Add "stubs" Package to or Along Side of TclTest


TIP:452
Title:Add "stubs" Package to or Along Side of TclTest
Version:$Revision: 1.8 $
Authors: Gerald Lester <Gerald dot Lester at SAP dot com>
Gerald W. Lester <gerald dot lester at KnG-Consulting dot net>
Gerald W. Lester <Gerald dot Lester at gmail dot com>
State:Draft
Type:Project
Tcl-Version:8.6
Vote:Pending
Created:Wednesday, 10 August 2016

Abstract

This TIP proposes an enhancement to the tcltest package to add support for easy creation of test stubs, mocks and seams.

Rationale

The tcltest package allows for automated testing of Tcl code. However, doing proper automated unit testing requires that the unit under test (i.e., the method or procedure) not invoke the actual implementation of other units, but rather should invoke stub or mock units that are under the control of the test being performed as to the results they return and any exceptions they raise.

This TIP adds support for building these mechanisms, making it significantly easier to create isolated unit tests of Tcl code.

Proposal

That a framework to easily create test stubs/mocks of Tcl commands be added to the 'tcltest package. Additionally, to facilitate the creation of automated test for legacy Tcl code. Commands supporting test seam creation and specification would also be included proposed package.

Description

It provides a fully functional implementation of the following commands:

Reference Implementation

See the tip-452 branch (http://core.tcl.tk/tcl/timeline?n=100&r=tip-452), in particular, see http-tip-452.test for an example of using the procedures added by this package.

Origins of Reference Implementation

The reference implementation was done at SAP Labs, LLC (a subsidiary of SAP Americal, Inc.) and approved for release as Open Source under a BSD license.

Copyright

This document has been placed in the public domain.


Powered by Tcl[Index] [History] [HTML Format] [Source Format] [LaTeX Format] [Text Format] [XML Format] [*roff Format (experimental)] [RTF Format (experimental)]

TIP AutoGenerator - written by Donal K. Fellows