Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. QML and Qt Quick
  4. QML TestCase not working. Why?
QtWS25 Last Chance

QML TestCase not working. Why?

Scheduled Pinned Locked Moved Solved QML and Qt Quick
2 Posts 1 Posters 703 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • B Offline
    B Offline
    bogong
    wrote on last edited by
    #1

    Hello!
    I am trying to use QML TestCase in the way of:

    import QtQuick 2.15
    import QtQuick.Window 2.15
    import QtTest 1.15
    
    Window {
    
    	id: oMainWindow;
    	visible: true;
    	width: 640;
    	height: 480;
    	title: qsTr("Hello World");
    
    	TestCase {
    
    		name: "QMLTestExample";
    
    		function test_Example_01() {
    
    			 compare(2 + 2, 4, "2 + 2 = 4");
    		}
    
    		function test_Example_02() {
    
    			compare(2 + 2, 5, "2 + 2 = 5");
    		}
    	}
    }
    

    It's just default application where added TestCase QML component. It's not working. There are error:

    QQmlApplicationEngine failed to load component
    qrc:/main.qml:32:2: Type TestCase unavailable
    file:///Users/alexandr/Tools/qt/5.15.0/clang_64/qml/QtTest/TestCase.qml:44:1: module "Qt.test.qtestroot" is not installed
    

    Why is that? What am I missing?

    1 Reply Last reply
    0
    • B Offline
      B Offline
      bogong
      wrote on last edited by bogong
      #2

      Solution found. Issue closed.
      Forgotten about:

      • in *.pro file
      CONFIG += qmltestcase
      
      • in main.cpp
      #include <QtQuickTest>
      QUICK_TEST_MAIN(example)
      
      • rename main.qml file onto tst_gui.qml (any other tests should be OK with name like this "tst_*.qml") and use this
      // System includes
      import QtQuick 2.15
      import QtTest 1.15
      
      // Application includes
      
      
      // Application window component
      TestCase {
      
      	name: "MathTests";
      
      	function test_math() {
      		compare(2 + 2, 4, "2 + 2 = 4");
      	}
      
      	function test_fail() {
      		compare(2 + 2, 5, "2 + 2 = 5");
      	}
      }
      

      All based on https://doc.qt.io/qt-5/qtquicktest-index.html#running-tests
      Example is here https://github.com/ArboreusSystems/arboreus_examples/tree/master/qt/QTest/UnitTest_v4

      Happy testing to all.

      1 Reply Last reply
      2

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved