, ...
, , , , , .
, "". , f before, undefining f after.
(* Mathematica Test File *)
before[]:= (Print["Before Test: ",f[2]];f[x_]:=x^3);
after[] := (ClearAll[f];Print["After Test: ",f[2]]);
withCodeAfter. , , before, . after unevaluated , withCodeAfter. , before, withCodeAfter.
SetAttributes[withCodeAfter,HoldRest];
withCodeAfter[before_,after_]:=(after;before)
wrapTest. , code, . code before[];code, , before, withCodeAfter. before[];code withCodeAfter. code withCodeAfter after. , withCodeAfter, wrapTest.
SetAttributes[{wrapTest},HoldAll]
wrapTest[code_]:= withCodeAfter[before[];code,after[]]
, wrapTest[Test[f[2], 8, TestID -> "MyTest1"]]
wrapTest@
Test[f[2], 8, TestID -> "MyTest1"]