Skip to main content
net8.0

Text User Interface implementation of Avalonia UI (GUI Framework)

Published
Jan 24, 2025
1y ago
Total Downloads
27.6K
27,641

Install

dotnet add package Consolonia.NUnit --version 11.2.3-beta.866
ProductVersions
.NET
net8.0

README

Consolonia.NUnit

This package provides testing support for testing consolonia controls using NUnit.

Background

Consolonia is a TUI (Text User Interface) (GUI Framework) implementation for Avalonia UI

Supports XAML, data bindings, animation, styling and the rest from Avalonia.

Showcase (click picture to see video)

datagridpic

Usage

To create a unit test against your consolonia application your test class should derive from ConsoloniaAppTestBase<App$gt;.

You can define the size of your console by passing size parameter to base class.

Then you can use UITest to interact with your application, and use UITest.AssertHasText() to verify the screen of text matches your expectation.

UITest.AssertHasText()

Takes one or more Regex patterns and verifies that the screen contains the text that matches the pattern.

UITest.AssertHasNoText()

Takes one or more Regex patterns and verifies that the screen does not contain the text that matches the pattern.

Example

    public class Tests : ConsoloniaAppTestBase<App>
    {
        public Tests : base(new PixelBufferSize(80, 40))
        {
        }


        [Test]
        public async Task DisplaysBasicText()
        {
            await UITest.KeyInput(Key.Tab);
            await UITest.AssertHasText("This is TextBlock");
        }
    }

Changes from Previous Version

No structural changes between v11.2.3-beta.862 and v11.2.3-beta.866.

Adoption Assessment

Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.

This version is marked prerelease. Validate its API and upgrade path before production use.Compatibility metadata lists 1 target framework; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.