aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorCharles Yin <charles.yin@nokia.com>2011-05-20 11:57:29 +1000
committerCharles Yin <charles.yin@nokia.com>2011-05-20 12:07:23 +1000
commitdaf671b42241533a2db1e598487256d616edf290 (patch)
treeeab238ee6f6e8ec55bf292d23399d0430c31b95f /doc
parent9bf28fbf0ee26dfde7d6060b10186cfccdcfcd67 (diff)
Integrate QtQuickTest into Qt
Diffstat (limited to 'doc')
-rw-r--r--doc/src/declarative/qmltest.qdoc123
1 files changed, 123 insertions, 0 deletions
diff --git a/doc/src/declarative/qmltest.qdoc b/doc/src/declarative/qmltest.qdoc
new file mode 100644
index 0000000000..fdecf21183
--- /dev/null
+++ b/doc/src/declarative/qmltest.qdoc
@@ -0,0 +1,123 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the documentation of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Free Documentation License
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of this
+** file.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+/*!
+ \page qmltest.html
+ \title QtQuickTest Reference Documentation
+ \keyword QtQuickTest Reference Documentation
+
+ \section1 Introduction
+
+ QtQuickTest is a unit test framework for Qt Quick (QML) applications.
+ Test cases are written as JavaScript functions within a TestCase
+ element:
+
+ \code
+ import QtQuick 2.0
+ import QtTest 1.0
+
+ TestCase {
+ name: "MathTests"
+
+ function test_math() {
+ compare(2 + 2, 4, "2 + 2 = 4")
+ }
+
+ function test_fail() {
+ compare(2 + 2, 5, "2 + 2 = 5")
+ }
+ }
+ \endcode
+
+ Functions whose names start with \c{test_} are treated as test cases
+ to be executed. See the documentation for the \l TestCase and
+ \l SignalSpy elements for more information on writing test cases.
+
+ \section1 Running tests
+
+ Test cases are launched by a C++ harness that consists of
+ the following code:
+
+ \code
+ #include <QtQuickTest/quicktest.h>
+ QUICK_TEST_MAIN(example)
+ \endcode
+
+ Where "example" is an identifier to use to uniquely identify
+ this set of tests. You should add \c{CONFIG += qmltestcase}.
+ for example:
+
+ \code
+ TEMPLATE = app
+ TARGET = tst_example
+ CONFIG += warn_on qmltestcase
+ SOURCES += tst_example.cpp
+ \endcode
+
+ The test harness scans the specified source directory recursively
+ for "tst_*.qml" files. If \c{QUICK_TEST_SOURCE_DIR} is not defined,
+ then the current directory will be scanned when the harness is run.
+ Other *.qml files may appear for auxillary QML components that are
+ used by the test.
+
+ The \c{-input} command-line option can be set at runtime to run
+ test cases from a different directory. This may be needed to run
+ tests on a target device where the compiled-in directory name refers
+ to a host. For example:
+
+ \code
+ tst_example -input /mnt/SDCard/qmltests
+ \endcode
+
+ See \c{tests/qmlauto} in the source tree for an example of creating a
+ test harness that uses the \c{QUICK_TEST_SOURCE_DIR} macro.
+
+ If your test case needs QML imports, then you can add them as
+ \c{-import} options to the the test program command-line by adding
+ the following line to your .pro file:
+
+ \code
+ IMPORTPATH += $$PWD/../imports/my_module1 $$PWD/../imports/my_module2
+ \endcode
+
+ \section1 Running tests with QtQuick 1
+
+ The \c{-qtquick1} option can be passed to a test binary to run
+ the tests using QDeclarativeView (QtQuick 1) rather than QSGView (QtQuick 2):
+
+ \code
+ tst_example -qtquick1
+ \endcode
+
+ To run tests with either QtQuick 1 or QtQuick 2, use
+ "import QtQuick 1.0" in your unit tests and then specify
+ compatibility mode to the QtQuick2 engine:
+
+ \code
+ QMLSCENE_IMPORT_NAME=quick1 tst_example
+ \endcode
+*/