[{TableOfContents}]

!! Introduction
Knowledge engineering with KnowWE is supported by a continuous integration framework, that allows to embed automated tests on the knowledge. These tests are executed on regular bases (triggers can be configured) and in case of failure the users are alerted. An overview about the history and the testing results in provided on a dashboard. This allows for a safe development process. The use of the existing CI features is described [here|Doc CIDashboard]

!! Create new tests
KnowWE provides an extension point to add new CITests, called ''CITest''. To create an extension of this kind the class [AbstractTest|https://isci.informatik.uni-wuerzburg.de/javadoc/d3web/de/d3web/testing/AbstractTest.html] which is an abstract implementation of the interface [Test|https://isci.informatik.uni-wuerzburg.de/javadoc/d3web/de/d3web/testing/Test.html] should be implemented. 

! Test object class

One method of the interface Test is getTestObjectClass(). It determines the class of the test object which the test is supposed to be executed on.
%%prettify
{{{
Class<T> getTestObjectClass();
}}}
/%

For example, if a test should run on wiki articles, the method should be implemented like this:
%%prettify
{{{
public Class<Article> getTestObjectClass()
}}}
/%

%%tags
howto
%