Writing resource classes is similar to writing test classes.
The requirements are the same except that, instead of a
Run method, you must provide two methods named
SetUp and CleanUp. The
SetUp method must have the same signature as a
test classs Run. The
CleanUp method is similar, but does not take a
context parameter.
The SetUp method may add additional
properties to the context by assigning to its
context parameter. These additional
properties will be visible only to tests that require this
resource.
The example below shows the SetUp and
CleanUp from the standard QMTest
TempDirectoryResource class. This resource
creates a temporary directory for use by the tests that depend on
the resource. The SetUp method creates the
temporary directory and records the path to the temporary directory
in the context so that tests know where to find the directory. The
CleanUp method removes the temporary directory.
def SetUp(self, context, result):
# Create a temporary directory.
self.__dir = qm.temporary_directory.TemporaryDirectory()
# Provide dependent tests with the path to the new directory.
context["TemporaryDirectoryResource.temp_dir_path"]
= self.__dir.GetPath()
def CleanUp(self, result):
# Remove the temporary directory.
del self.__dir