For simple QTest-based test suites, nothing unusual is required:
just create your .test
files in the
qtest
directory as always. If you are using
QTest's coverage system, you can assign the names of the source
files containing coverage calls to the TC_SRCS
parameter, which abuild will automatically export to the
environment. Abuild also automatically exports
TESTS
, so you can pass it on the
abuild command line (e.g. abuild
TESTS="one two" to run one.test
and two.test
) if you want to run a subset of
your tests.
The easiest way to pass information from your build into your
test suite is through environment variables. For example, you
may need to pass in the path of a configuration file or JAR file
so that your test suite can find it. To do this, you can create
parameters containing those values and then append the names of
the parameters to the qtest.export
parameter.
For each value in qtest.export
, an upper-case
version of the variable name is exported to the environment with
the value returned by calling resolveAsString
on that parameter. For example, if you had the following
parameter block in your Abuild.conf
:
parameters { TEST_CONFIG = 'test_config.xml' qtest.export << 'TEST_CONFIG' // other standard parameters ... }
your test suites would be able to reference
$ENV{'TEST_CONFIG'}
to retrieve the value
test-config.xml
.