We like to make our server very modular in order to simplify the testing.

Full coverage testing is what will give you more chances of finding most of the bugs before using the server. In other words, a good way to verify that the server works as expected.

The server is composed of a small core, libraries, and plugins.

By default, plugins should be compiled as such (i.e. a .so under Linux.) However, by simulating all the necessary core functionality in a test, it is possible to run the plugin tests on the command line and find problems early.

The main thing that we want to simulate to accelerate our tests is Cassandra. That way we can run tests without a real database actually running. In most cases it is not necessary to run your test against real data which would not give you full coverage anyway.

Snap! Websites
An Open Source CMS System in C++

Contact Us Directly