Automated testing process
AssigneeInternational Business Machines Corporation
InventorsMauro Arcese, Marco Imperia, Marco Mattia, Genoveffa Nacchia, Leonardo Rosati, Stefano Sidoti
Life of this patent
Estimating the term…
Abstract
A method, computer program product, and system for automating a test environment is provided. The method may include providing, at one or more computing devices, a superclass and a class-under-test, the superclass and the class-under-test having an inheritance chain therebetween. The method may further include inserting, via the computing device, an intermediate mock class between the superclass and the class-under-test. The method may also include automatically modifying, via the computing device, the class-under-test at runtime.
Claims16
A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions for automating a test environment stored thereon, which, when executed by a processor, cause the processor to perform operations comprising:
- providing at one or more computing devices, a superclass and a class-under-test, the superclass and the class-under-test having an inheritance chain therebetween;
- inserting, via the computing device, an intermediate mock class between the superclass and the class-under-test, including intercepting calls to the class-under-test and redirecting them to the mock class;
- and
- automatically modifying, via the computing device, the class-under-test at runtime.
A computing system for automating a test environment comprising:
- at least one processor;
- at least one memory architecture coupled with the at least one processor;
- a first software module executable by the at least one processor and the at least one memory architecture, wherein the first software module is configured to provide at one or more computing devices, a superclass and a class-under-test, the superclass and the class-under-test having an inheritance chain therebetween;
- a second software module executable by the at least one processor and the at least one memory architecture, wherein the second software module is configured to inserting, via the computing device, an intermediate mock class between the superclass and the class-under-test;
- and
- a third software module executable by the at least one processor and the at least one memory architecture, wherein the third software module is configured to automatically modifying, via the computing device, the class-under-test at runtime.
A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions for automating a test environment stored thereon, which, when executed by a processor, cause the processor to perform operations comprising:
- providing, at one or more computing devices, a superclass and a class-under-test, the superclass and the class-under-test having an inheritance chain therebetween;
- inserting, via the computing device, an intermediate mock class between the superclass and the class-under-test;
- automatically modifying, via the computing device, the class-under-test at runtime;
- loading, via the computing device, at least one of the superclass and the class-under-test into a memory;
- patching, using a byte-code transformer engine, byte-code of the loaded class according to at least one user-defined rule;
- for each class being loaded, determining, via the computing device, if the class matches a configured filter;
- transforming, via the computing device, the byte code of the loaded class by replacing one or more references to the superclass with a reference to the intermediate mock class;
- instantiating, via the computing device, the transformed class;
- and
- wherein the test environment is a Java test environment.
Dependencies are inferred from the claim text.