Skip to content

Releases: MikeSchulze/gdUnit4

v4.4.3

21 Nov 15:48
5a745d4
Compare
Choose a tag to compare

Hotfix memory leaks on test execution

What's Changed

Full Changelog: v4.4.2...v4.4.3

v4.4.2

19 Nov 16:50
351757c
Compare
Choose a tag to compare

What's Changed

Bug Fixes

  • GD-592: Fixes, the detection of parameterized test data changes in TestDiscoveryGuard to notify the test explorer and update the structure. by @MikeSchulze in #593
  • GD-594: Fixes, mock fails on class with parameter getter setter by @MikeSchulze in #595
  • GD-596: Fixes, run test via CMD line is broken when use skipp command option by @MikeSchulze in #597

Other Changes

  • GD-590: Fixes, HTML test report footer overlapping in Firefox by @Eggbertx in #589

Full Changelog: v4.4.1...v4.4.2

v4.4.1

20 Oct 08:59
4f1aca2
Compare
Choose a tag to compare

What's Changed

Improvements

Full Changelog: v4.4.0...v4.4.1

v4.4.0

23 Sep 14:45
38e6895
Compare
Choose a tag to compare

GdUnit4 v4.4.0

What's Changed

  • Introduction of flaky test detection, automatically executed again if flaky test detection is enabled.
  • Added touchscreen support to the SceneRunner.
  • HTML report look & feel redesign

Improvements

  • GD-220: Add support for flaky test handling and retrying their execution by @MikeSchulze in #558
    image
  • GD-554: Adding support for touch screen input event testing to GdUnitSceneRunner by @MikeSchulze in #556
## Simulates a screen touch is pressed.[br]
## [member index] : The touch index in the case of a multi-touch event.[br]
## [member position] : The position to touch the screen.[br]
## [member double_tap] : If true, the touch's state is a double tab.
@warning_ignore("unused_parameter")
func simulate_screen_touch_pressed(index :int, position :Vector2, double_tap := false) -> GdUnitSceneRunner:


## Simulates a screen touch is press.[br]
## [member index] : The touch index in the case of a multi-touch event.[br]
## [member position] : The position to touch the screen.[br]
## [member double_tap] : If true, the touch's state is a double tab.
@warning_ignore("unused_parameter")
func simulate_screen_touch_press(index :int, position :Vector2, double_tap := false) -> GdUnitSceneRunner:


## Simulates a screen touch is released.[br]
## [member index] : The touch index in the case of a multi-touch event.[br]
## [member double_tap] : If true, the touch's state is a double tab.
@warning_ignore("unused_parameter")
func simulate_screen_touch_release(index :int, double_tap := false) -> GdUnitSceneRunner:


## Simulates a touch screen drag&drop to the relative coordinates (offset).[br]
## [color=yellow]You must use [b]await[/b] to wait until the simulated drag&drop is complete.[/color][br]
## [br]
## [member index] : The touch index in the case of a multi-touch event.[br]
## [member relative] : The relative position, indicating the drag&drop position offset.[br]
## [member time] : The time to move to the relative position in seconds (default is 1 second).[br]
## [member trans_type] : Sets the type of transition used (default is TRANS_LINEAR).[br]
## [codeblock]
##    func test_touch_drag_drop():
##       var runner = scene_runner("res://scenes/simple_scene.tscn")
##       # start drag at position 50,50
##       runner.simulate_screen_touch_drag_begin(1, Vector2(50, 50))
##       # and drop it at final at 150,50  relative (50,50 + 100,0)
##       await runner.simulate_screen_touch_drag_relative(1, Vector2(100,0))
## [/codeblock]
@warning_ignore("unused_parameter")
func simulate_screen_touch_drag_relative(index :int, relative: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner:


## Simulates a touch screen drop to the absolute coordinates (offset).[br]
## [color=yellow]You must use [b]await[/b] to wait until the simulated drop is complete.[/color][br]
## [br]
## [member index] : The touch index in the case of a multi-touch event.[br]
## [member position] : The final position, indicating the drop position.[br]
## [member time] : The time to move to the final position in seconds (default is 1 second).[br]
## [member trans_type] : Sets the type of transition used (default is TRANS_LINEAR).[br]
## [codeblock]
##    func test_touch_drag_drop():
##       var runner = scene_runner("res://scenes/simple_scene.tscn")
##       # start drag at position 50,50
##       runner.simulate_screen_touch_drag_begin(1, Vector2(50, 50))
##       # and drop it at 100,50
##       await runner.simulate_screen_touch_drag_absolute(1, Vector2(100,50))
## [/codeblock]
@warning_ignore("unused_parameter")
func simulate_screen_touch_drag_absolute(index :int, position: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner:


## Simulates a touch screen drop&drop to the absolute coordinates (offset).[br]
## [color=yellow]You must use [b]await[/b] to wait until the simulated drop is complete.[/color][br]
## [br]
## [member index] : The touch index in the case of a multi-touch event.[br]
## [member position] : The drag start position, indicating the drag position.[br]
## [member drop_position] : The drop position, indicating the drop position.[br]
## [member time] : The time to move to the final position in seconds (default is 1 second).[br]
## [member trans_type] : Sets the type of transition used (default is TRANS_LINEAR).[br]
## [codeblock]
##    func test_touch_drag_drop():
##       var runner = scene_runner("res://scenes/simple_scene.tscn")
##       # start drag at position 50,50 and drop it at 100,50
##       await runner.simulate_screen_touch_drag_drop(1, Vector2(50, 50), Vector2(100,50))
## [/codeblock]
@warning_ignore("unused_parameter")
func simulate_screen_touch_drag_drop(index :int, position: Vector2, drop_position: Vector2, time: float = 1.0, trans_type: Tween.TransitionType = Tween.TRANS_LINEAR) -> GdUnitSceneRunner:


## Simulates a touch screen drag event to given position.[br]
## [member index] : The touch index in the case of a multi-touch event.[br]
## [member position] : The drag start position, indicating the drag position.[br]
@warning_ignore("unused_parameter")
func simulate_screen_touch_drag(index :int, position: Vector2) -> GdUnitSceneRunner:


## Returns the actual position of the touch drag postion by given index
## [member index] : The touch index in the case of a multi-touch event.[br]
@warning_ignore("unused_parameter")
func get_screen_touch_drag_position(index: int) -> Vector2:

Bug Fixes

  • GD-549: Fix, error if GdUnit4 inspector tab is floating by @MikeSchulze in #552
  • GD-559: Fix, inspector directory collapse toggling by @poohcom1 in #560
  • GD-563: Fix, parameterized test not executed when using typed arrays end ends with invalid success state by @MikeSchulze in #572
  • GD-573: Fixed the inspector double-click, inherited tests to jump to the script where the test are located by @MikeSchulze in #574

New Contributors

Full Changelog: v4.3.4...v4.4.0

v4.3.4

22 Jul 13:39
3edc885
Compare
Choose a tag to compare

GdUnit4 v4.3.4

What's Changed

Improvements

Bug Fixes

  • GD-529: Fix null value access in the inspector. by @MikeSchulze in #530
  • GD-531: Fix assert_not_yet_implemented reports the wrong line number by @MikeSchulze in #532
  • GD-533: Fixes script error in TestSuiteTemplate when Godot was installed for the first time by @MikeSchulze in #536
  • GD-537: Fix comparing objects containing built-in script type members by @MikeSchulze in #538

New Contributors

Full Changelog: v4.3.3...v4.3.4

v4.3.3

28 Jun 11:32
30481e9
Compare
Choose a tag to compare

GdUnit4 v4.3.3

What's Changed

Improvements

  • GD-512: Add append_failure_message to append custom messages to generated assert failures by @MikeSchulze in #514

Bug Fixes

  • GD-517: Fix test discovery guard fails on CSharpScript tests when editing by @MikeSchulze in #523
  • GD-518: Fix run/debug of CS tests via the context menu fails by @MikeSchulze in #524
  • GD-522: Fix shortcuts can't be changed anymore in GdUnit4 settings by @MikeSchulze in #526

Other Changes

Full Changelog: v4.3.2...v4.3.3

v4.3.2

19 Jun 04:57
72560ef
Compare
Choose a tag to compare

GdUnit4 v4.3.2

Hotfix to fix Godot Editor crash on Linux

What's Changed

Improvements

  • GD-497: Execute the test discovery in an additional thread so as not to block the main thread. by @MikeSchulze in #498
  • GD-501: Prepare GdUnit4 for Godot 4.3.beta1 by @MikeSchulze in #502

Bug Fixes

  • GD-490: Fix icon image size errors when using custom editor display scale by @MikeSchulze in #491
  • GD-491: Fix Godot editor crash for Linux systems at exit by @MikeSchulze in #493
  • GD-494: Fix test discovery error when test root path is set to empty by @MikeSchulze in #496
  • GD-505: Move GDUnitServer instantiating and releasing to GdUnitInspector by @MikeSchulze in #510
  • GD-503: Rework plugin exit to avoid system crash and memory leaks by @MikeSchulze in #504

Other Changes

  • GD-506: Revisit the ScriptEditorContextMenuHandler added to the root node by @MikeSchulze in #507
  • GD-508: Revisit the EditorFileSystemContextMenuHandler added to the root node by @MikeSchulze in #509

Full Changelog: v4.3.1...v4.3.2

GdUnit4 v4.3.1

01 Jun 08:52
b9766fc
Compare
Choose a tag to compare

GdUnit4 v4.3.1

Hotfix to fix Godot crash on macOS

What's Changed

Bug Fixes

Full Changelog: v4.3.0...v4.3.1

GdUnit4 v4.3.0

29 May 14:19
030ac1d
Compare
Choose a tag to compare

GdUnit4 v4.3.0

DO NOT UPDATE WHEN USING MacOS!!!

there is a major issue with the plugin when exiting the Godot editor.

a bugfix is scheduled

What's Changed

With v4.3.0 there is a big update with a lot of improvements and bug fixes.

  • Improved test inspector
    The entire inspector has been redesigned and now uses the original Godot icons to display the inspection status and buttons. The new sorting option allows you to sort the inspection results by different modes, and the tree view can be switched between flat and tree view.
    image

  • Auto test discovery
    The new option for detecting tests at runtime searches for available tests and records them in real time.
    image

  • GdUnit4 has got a new logo
    image

Improvements

Bug Fixes

  • GD-413: Allow to spy on a class with enum as constructor argument by @MikeSchulze in #412
  • GD-440: Improve test suite scanner to ignore non test-suite scripts by @MikeSchulze in #442
  • GD-443: Fix errors when dock undock the gdunit inspector by @MikeSchulze in #445
  • GD-451: Fix script parser to extracting the correct class name by @MikeSchulze in #453
  • GD-452: Fix gdunit settings dialog to act as window close button by @MikeSchulze in #456
  • GD-465: Parameterized tests are skipped with const Array values by @MikeSchulze in #466
  • GD-467: Fix test suite discover when creating a new test suite by @MikeSchulze in #469
  • GD-471: Support UTF8 characters on reporting failure messages by @MikeSchulze in #473
  • GD-474: Fix test Godot Runtime Error is reported repeatedly by @MikeSchulze in #475
  • GD-468: Fix parameterized test argument parsing by @MikeSchulze in #476
  • GD-480: Fix settings dialog has wrong theme for the background panel by @MikeSchulze in #481

Other Changes

  • GD-414: Fix unclear spy test on constructor with enum parameter by @Vacui in #415
  • GD-306: Do run gdunit-action on CI-PR without publish report by @MikeSchulze in #417
  • Try to fix workflow to publish test reports by @MikeSchulze in #419
  • Bump MikeSchulze/gdUnit4-action from 1.0.5 to 1.0.8 by @dependabot in #423
  • Simplify .gitattributes by @myyk in #424
  • GD-427: Do use typed variables and arguments by @MikeSchulze in #428
  • Bump dorny/test-reporter from 1.9.0 to 1.9.1 by @dependabot in #441
  • Bump MikeSchulze/gdUnit4-action from 1.0.8 to 1.1.1 by @dependabot in #447

New Contributors

Full Changelog: v4.2.5...v4.3.0

GdUnit4 v4.2.5

23 Apr 13:26
60465f5
Compare
Choose a tag to compare

GdUnit4 v4.2.5

What's Changed

Bug Fixes

  • GD-399: Fix typo for first argument in GdUnitStringAssert#has_length by @MikeSchulze in #404
  • GD-409: Fix skip excluded test suites by runner configuration by @MikeSchulze in #410

Other Changes

  • GD-396: Update C# API bridge to gdUnit4Net v4.2.2 by @MikeSchulze in #397
  • GD-401: Added support for action input events on scene runner by @rsubtil in #398
  • GD-405: Update workflows to support latest Godot versions by @MikeSchulze in #406

New Contributors

Full Changelog: v4.2.4...v4.2.5