gdUnit4.api 4.2.4-rc2

This is a prerelease version of gdUnit4.api.
There is a newer version of this package available.
See the version list below for details.
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package gdUnit4.api --version 4.2.4-rc2                
NuGet\Install-Package gdUnit4.api -Version 4.2.4-rc2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="gdUnit4.api" Version="4.2.4-rc2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add gdUnit4.api --version 4.2.4-rc2                
#r "nuget: gdUnit4.api, 4.2.4-rc2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install gdUnit4.api as a Cake Addin
#addin nuget:?package=gdUnit4.api&version=4.2.4-rc2&prerelease

// Install gdUnit4.api as a Cake Tool
#tool nuget:?package=gdUnit4.api&version=4.2.4-rc2&prerelease                

The C# GdUnit4 API

What is GdUnit4.Api

gdUnit4.api is the C# package to enable GdUnit4 to run/write unit tests in C#.

Features

  • Support for writing and executing tests in C#
  • Convenient interface for running test-suites directly from Godot<br> One of the main features of GdUnit4 is the ability to run test-suites directly from the Godot editor using the context menu. You can run test-suites from the FileSystem panel, the ScriptEditor, or the GdUnit Inspector. To do this, simply right-click on the desired test-suite or test-case and select "Run Test(s)" from the context menu. This will run the selected tests and display the results in the GdUnit Inspector.<br> You can create new test cases directly from the ScriptEditor by right-clicking on the function you want to test and selecting "Create TestCase" from the context menu.
  • Fluent syntax for writing test cases that's easy to read and understand
  • Configurable template for generating new test-suites when creating test-cases
  • Wide range of assertion methods for verifying the behavior and output of your code
  • Test Fuzzing support for generating random inputs to test edge cases and boundary conditions
  • Parameterized Tests (Test Cases) for testing functions with multiple sets of inputs and expected outputs
  • Scene runner for simulating different kinds of inputs and actions, such as mouse clicks and keyboard inputs<br> For example, you can simulate mouse clicks and keyboard inputs by calling the appropriate methods on the runner instance. Additionally, you can wait for a specific signal to be emitted by the scene, or you can wait for a specific function to return a certain value.

Short Example

namespace GdUnit4.Tests
{
    using static Assertions;

    [TestSuite]
    public class StringAssertTest
    {
        [TestCase]
        public void IsEqual()
        {
            AssertThat("This is a test message").IsEqual("This is a test message");
        }
    }
 }

You are welcome to

Thank you for supporting my project


Sponsors

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on gdUnit4.api:

Package Downloads
gdUnit4.test.adapter

GdUnit4 Test Adapter is the test adapter to run GdUnit4 tests in C#.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on gdUnit4.api:

Repository Stars
Revolutionary-Games/Thrive
The main repository for the development of the evolution game Thrive.
Version Downloads Last updated
4.4.0-rc9 49 2/12/2025
4.4.0-rc8 397 1/19/2025
4.4.0-rc7 290 1/18/2025
4.4.0-rc6 1,300 11/11/2024
4.4.0-rc5 541 11/6/2024
4.4.0-rc4 79 11/5/2024
4.4.0-rc3 241 10/31/2024
4.4.0-rc2 335 10/28/2024
4.4.0-rc10 34 2/12/2025
4.3.1 13,938 7/30/2024
4.3.0 1,824 7/9/2024
4.2.5 6,455 6/24/2024
4.2.4 817 6/4/2024
4.2.3 2,829 4/17/2024
4.2.2 618 4/12/2024
4.2.1.1 800 3/10/2024
4.2.1 1,489 2/24/2024

V4.2.4

Improvements:
- Added input action handling to the SceneRunner
 - `SimulateActionPressed(string action)`
 - `SimulateActionPress(string action)`
 - `SimulateActionRelease(string action)`

-------------------------------------------------------------------------------------------------------

v4.2.3

Bug Fixes:
- Fix `AssertThat` for dynamic assert type resolving

-------------------------------------------------------------------------------------------------------

v4.2.2

What's Changed:

- Rename repository from `gdUnit4Mono` to `gdUnit4Net`
- Update project to GodotSharp v4.1.0
- Format and fix warnings according to C# standards
- Format the tests according to the C# Formatting rules
- Format the code to C# standard
- Support both net7 and net8 at once
- Add full .NET8 support
- Provide generic vector assert to support all Godot vector types
- Revision of the stack trace collection for failed tests
- Complete missing features for `IDictionaryAssert`
- Complete missing features for `IEnumerableAssert`
- Complete missing features for `INumberAssert`
- Add missing `SimulateMouseMoveRelative` and `SimulateMouseMoveAbsolute` to `ISceneRunner`

Bug Fixes:
- SceneRunner: Fix InputEvent handling
- Calling Invoke on `SceneRunner` must propagate exceptions
- Fix GdUnit4MonoAPI `IsTestSuite` cannot run TestSuite
- Fix test run stops at some point
- Parameterized test cases are not run from Godot Editor GdUnit4 inspector

-------------------------------------------------------------------------------------------------------

v4.2.0

- gdUnit4 API initial version.