Book Image

Learn Qt 5

By : Nicholas Sherriff
Book Image

Learn Qt 5

By: Nicholas Sherriff

Overview of this book

Qt is a mature and powerful framework for delivering sophisticated applications across a multitude of platforms. It has a rich history in the Linux world, is widely used in embedded devices, and has made great strides in the Mobile arena over the past few years. However, in the Microsoft Windows and Apple Mac OS X worlds, the dominance of C#/.NET and Objective-C/Cocoa means that Qt is often overlooked. This book demonstrates the power and flexibility of the Qt framework for desktop application development and shows how you can write your application once and deploy it to multiple operating systems. Build a complete real-world line of business (LOB) solution from scratch, with distinct C++ library, QML user interface, and QtTest-driven unit-test projects. This is a suite of essential techniques that cover the core requirements for most LOB applications and will empower you to progress from a blank page to shipped application.
Table of Contents (11 chapters)

Entity Tests

Now that we have some confidence that our data decorators are working as expected, let’s move up a level and test our data entities. The Client class is the root of our model hierarchy and by testing that, we can test our other models in the process.

We already have client-tests.cpp in cm-tests/source/models that Qt Creator added for us when we created the project, so go ahead and add a companion header file client-tests.h.

client-tests.h:

#ifndef CLIENTTESTS_H
#define CLIENTTESTS_H
#include <QtTest> #include <QJsonObject>
#include <models/client.h> #include <test-suite.h>
namespace cm { namespace models {
class ClientTests : public TestSuite { Q_OBJECT
public: ClientTests();
private slots: void constructor_givenParent_setsParentAndDefaultProperties(); void constructor_givenParentAndJsonObject_setsParentAndProperties...