https://github.com/jemc/QmlSpec
The integrated and extensible QML testing framework.
https://github.com/jemc/QmlSpec
Last synced: 9 days ago
JSON representation
The integrated and extensible QML testing framework.
- Host: GitHub
- URL: https://github.com/jemc/QmlSpec
- Owner: jemc
- Created: 2014-06-25T01:17:00.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-09-30T19:32:12.000Z (about 10 years ago)
- Last Synced: 2025-07-09T13:55:58.002Z (5 months ago)
- Language: QML
- Size: 210 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-qt-qml - QmlSpec - QmlSpec is a replacement for QML's bundled-in unit testing module QtTest. (Testing)
README
# QmlSpec
QmlSpec is a replacement for QML's bundled-in unit testing module QtTest.
## Motivation
The author has found QtTest to be rather frustrating when trying to add
alternative reporting or functionality for use cases not foreseen by the
authors of QtTest. Much of the code is written in C++, which is harder
to extend from QML-space, and the interface seems to be closely based on
Qt's C++ testing module rather than being redesigned based on the unique
strengths and weaknesses of QML. Also, Being a part of the Qt framework
it is high in project inertia (for better or for worse), and this makes it
difficult to petition for new functionality or accommodations for new
functionality.
QmlSpec aims to be a drop-in replacement for QtTest, with new features
added and support for extension by other modules or applications.
New users should be able to install the QmlSpec plugin, replace
`import QtTest 1.0` with `import QmlSpec 1.0`, add a `suite.qml`
indexing file to their test suite directory (see examples), and
run their test suit with `qmlscene test/suite.qml` instead of
`qmltestrunner test`. The user can choose to keep only using the
QtTest-compatible features, or begin using the new features introduced
by `QmlSpec`. Furthermore, the user can now run their test suite in other
ways, such as in their live application with a graphical reporter.
The user can even write a custom reporter to suite their project's
unique needs.
## Design Goals
* Complete compatibility with QML's QtTest API (TestCase, SignalSpy)
* Implement almost entirely in QML, with the absolute minimum in C++
* Graphical TestReporter that can be run in an application
* Support for user-written TestReporters
* Extensibility accommodations for unforseen use cases
## Contributing
QmlSpec aims to be a community-centered project, and welcomes
issue reports, feature requests, and pull requests from other users.