Free Open-Source Software

XBRLAPI Unit testing with JUnit

Overview

A comprehensive test of your XBRLAPI installation is possible using the JUnit tests that are distributed with XBRLAPI.

Install a local version of the XBRL 2.1 conformance suite

If you want to run the unit tests that are distributed with XBRLAPI, then it is necessary to configure the test data environment. A key part of this configuration involves installation of the XBRL 2.1 conformance suite.

The conformance suite is available from the list of XBRL specification recommendations.

Download the zip file and extract it to the desired location in your local environment. You can either serve up the files in the conformance suite directly from your local file system (using the file scheme URLs) or you can serve them via a local web server such as Apache (using http scheme URLs).

Set up the test configuration file

It is necessary to set a range of test configuration properties to provide information regarding the setup of the underlying data stores and the available test data. This is done using a Java properties file whose location must be specified by a system property called xbrlapi.test.configuration.

The test configuration file sets a large number of configuration properties. These are explained in the test configuration documentation.

One way to specify the location of the properties file is to add -Dxbrlapi.test.configuration=/path/to/configuration/file/filename to the set of parameters used when running Java. In Eclipse, add this as a virtual machine argument for your project's java runtime environment. Naturally set /path/to/configuration/file to the path to the configuration file that you want to use and set filename to the name of your configuration file.

You can grab a copy of a complete properties file from the SVN repository.

Execute the Unit Tests

Unit test execution can be done in a number of ways. These include:

Unit testing from the command line

You can use one of the TestRunner classes provided by JUnit to do the unit tests from the command line. For example, to use the text UI test runner, for the full set of tests except those for persistent data stores, you could use (presuming all the necessary classes are on the classpath):

java -Xmx1g -Dxbrlapi.test.configuration=[PATH.TO.CONFIGURATION.FILE] junit.textui.TestRunner org.xbrlapi.tests.AllTests

You would have to replace [PATH.TO.CONFIGURATION.FILE] with the full path to and the file name of the file containing the test configuration properties.

The -Xmx1g parameter is supplied to ensure that you do not run into memory limitations when running some of the more demanding unit tests.

Unit testing from within Eclipse

Select the set of test classes or test suites that you want to execute, and then run them as JUnit tests from the context menu in Eclipse.

Unit testing using Maven

From the directory containing the POM file for the module that you want to test, run, at the command line:

mvn test

Get Java XBRL API implementation at SourceForge.net. Fast, secure and Free Open Source software downloads