  Injection-based testing while refactoring is a pattern that minimizes the
need for manual editing when altering the behaviour of a code base. Neither
does it rely on a compilation or a linking process nor does it make assumptions
on the structure of the code. Thus, it can be particularly useful for
refactoring code that has been written in scripting languages, and specifically
targets the research and engineering context. We describe the pattern and
propose a set of functions for its application. The applicability of code
injection for refactoring is highlighted via specific examples for deriving
unit and integration tests. Finally, we comment on the customizing of the
pattern and give practical advice for its implementation.
