Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 94 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 550 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 550 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $awaitingusers - Line: 26 - File: global.php(872) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/global.php(872) : eval()'d code 26 errorHandler->error
/global.php 872 eval
/printthread.php 16 require_once
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/printthread.php 165 errorHandler->error

Unit Testing with MURL - Printable Version
The following warnings occurred:
Warning [2] Undefined array key "lockoutexpiry" - Line: 94 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 94 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "lockoutexpiry" - Line: 550 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 550 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined array key "avatartype" - Line: 811 - File: global.php PHP 8.1.30 (FreeBSD)
File Line Function
/global.php 811 errorHandler->error
/printthread.php 16 require_once
Warning [2] Undefined variable $awaitingusers - Line: 26 - File: global.php(872) : eval()'d code PHP 8.1.30 (FreeBSD)
File Line Function
/global.php(872) : eval()'d code 26 errorHandler->error
/global.php 872 eval
/printthread.php 16 require_once
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/printthread.php 165 errorHandler->error
Warning [2] Undefined array key "showimages" - Line: 160 - File: printthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/printthread.php 160 errorHandler->error
Warning [2] Undefined array key "showvideos" - Line: 165 - File: printthread.php PHP 8.1.30 (FreeBSD)
File Line Function
/printthread.php 165 errorHandler->error



Official Murl Engine Forum
Unit Testing with MURL - Printable Version

+- Official Murl Engine Forum (https://murlengine.com/forum)
+-- Forum: Murl Engine (https://murlengine.com/forum/forumdisplay.php?fid=5)
+--- Forum: General (https://murlengine.com/forum/forumdisplay.php?fid=8)
+--- Thread: Unit Testing with MURL (/showthread.php?tid=38)



Unit Testing with MURL - CodingMarmot - 02 Aug 2013

Hey there Smile

I am using CppUnit to perform unit testing in my projects. Though everything is quite straight forward most of the time, unit testing gets difficult or better say more complicated when it comes to classes that are initialized over xml.

Examples for this would be a classes inheriting from Logic::GraphPositionInstance or classes containing/being custom nodes (e.g. http://murlengine.com/forum/showthread.php?tid=36 ).

Another problem arises when I want to test methods that modify the UI in some way.

So far I helped myself by creating custom constructors to be used in test cases and initializing only the most necessary stuff in order for the tests to work.

When it comes to methods manipulating the UI, I used preprocessor commands to disable UI interactions.
Example:
void ToggleButton::OnSetToInactive()
{
    Notify(Button::GetButtonId(), ToggleButton::Messages::SET_TO_INACTIVE);
#ifdef DRAW_GUI_ACTION
    TextTextureNode->SetBackgroundColor(Color(133.0f, 133.0f, 133.0f, 0.0f));
    ButtonNode->SetEnabled(false);
#endif
}

So much for explaining my approach...
Now to my questions.
  1. Is this is the correct/optimal way to perform unit testing with MURL?
  2. Would it be possible to also include methods that manipulate UI components into testing (e.g. SetBackgroundColor)?
  3. Are there any best practices or "dos and don'ts" you came across during your development?
As always, thank you!


RE: Unit Testing with MURL - Max Prohaska - 12 Jan 2022

[Image: 02-MultiMedical-1500x1500-1.png]