Estoy escribiendo una serie de casos de prueba en un solo archivo .mt que comparten procedimiento (s) de configuración común (y desmontaje). Esperaba ver algo como JUnit's @Before
/@After
, pero nada del paquete MUnit saltó a mí que eso lograría esto. Honestamente, la documentación del paquete MUnit es un poco mejor que la documentación de MUnit de Wolfram Workbench, pero tampoco está completa. Instructions on viewing the MUnit package.Buscando algo como JUnit @Before/@After en MUnit
Así que antes de reinventar la rueda, pensé que verificaría si me perdía algo en MUnit o si alguien tiene un patrón que funciona bien.
Así que basado en Leonid Shifrin inicial respuesta (que actualiza su respuesta mientras pongo esto juntos), esto es (era) donde estoy (era) en ...
TestPlus.mt
(* Mathematica Test File *)
(* x is a global value *)
x=0;
SetUp[] := Module[{}, x=1;];
TearDown[] := Module[{}, x=0;];
(* test SetUp[] *)
SetUp[];
Test[x, 1, TestID->"SetUp-20120103-F2U9V6"]
(* test TearDown[] *)
TearDown[];
Test[x, 0, TestID->"TearDown-20120103-O4R6M7"]
(* test plus --contrived tests-- *)
SetUp[];
Test[x+0, 1, TestID->"Plus-20120103-S5D9X6"]
TearDown[];
SetUp[];
Test[x+1, 2, TestID->"Plus-20120103-D7Q3E0"]
TearDown[];
SetUp[];
Test[x+2, 3, TestID->"Plus-20120103-F0S4P9"]
TearDown[];
bien he actualizado mi pregunta con un ejemplo cojo de lo que pensaba que estaba hablando. Ahora, veo de lo que estás hablando. Gracias – mmorris
@mmorris Gracias por la aceptación. Su actualización es de hecho lo que quise decir en mi respuesta inicial. Mi actualización fue solo para mostrar cómo se puede reducir la cantidad de código repetitivo con un esfuerzo relativamente mínimo. –
Consulte la respuesta a continuación. Gracias Mike – mmorris