Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A tool to generate autotest stubs for QTestLib and Qt classes

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 example
Octocat-spinner-32 rpp @ ddb4d26
Octocat-spinner-32 src
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .gitmodules
Octocat-spinner-32 README
Octocat-spinner-32 qautotestgenerator.pro
README
qautotestgenerator is a tool to generate stub tests for a C++ class.  When writing tests for new code one of the more annoying parts is getting the initial file up and running.  qautotestgenerator helps by automatically creating quite a bit of stub code after which you just go through the file filling it in with the actual tests.

Some features include:
- Creates a stub tests for each non private function in the class.
- Creates a subclass for the class to expose any protected functions for testing.
- Creates a basic sanity test that just calls each function.
- Creates a _data() function for each test.
- Populates the _data() functions with columns for each argument and the return value.
- Adds QFETCH stub code that matches the generated _data function as a place to start from.
- Adds the four init and cleanup functions with documentation so you don't have to look up what does what.
- Adds signal spys to each tests if the class contains any signals.

To find out more about QTestLib check out its documentation at http://doc.trolltech.com/4.3/qtestlib-manual.html

========
BUILDING
========

git submodule init
git submodule update
qmake
make

=======
EXAMPLE
=======

In the example directory is a file example.h that contains a little class.  Execute the following to generate and build a test.

./qautotestgenerator example/example.h Example > example/tst_example.cpp
cd example
qmake -project
echo "CONFIG += qtestlib" >> example.pro
qmake
make
Something went wrong with that request. Please try again.