All notable changes to this project will be documented in this file.
- Arguments:
- '--confirma-category'
- Warning when trying to run tests without '--confirma-run' argument.
WhenNotRunningCategory
value toEIgnoreMode
enum.HideFromResults
field toIgnore
attribute.
- Included 'scripts' folder in exported ZIP.
- Documentation has been refreshed (more information, better described).
- Empty argument '--confirma-method' was allowed when argument '--confirma-run' was also empty.
NullReferenceException
when there is not GDScript tests.- Confirma run tests and closes immediately after start instead of launching the game.
- [Experimental] Information about number of orphans.
- [Experimental] Detecting when orphans are created.
- [Experimental] Running tests written in GDScript.
- 'GdAssertionFailed' signal to ConfirmaAutoload.
- Arguments:
- "--confirma-disable-cs" to disable C# tests.
- "--confirma-disable-gd" to disable GDScript tests.
- "--confirma-gd-path" to specify path with GDScript tests.
- "--confirma-output" specifies how to return test result information.
- "--confirma-output-path" specifies the path in which to create a report of the tests performed.
- Classes:
- ScriptInfo
- TestManager
- CsTestExecutor
- GdTestDiscovery
- TestLog
- Json
- EnumHelper
- Assertions for GDScript:
- confirm.gd
- confirm_boolean.gd
- confirm_array.gd
- ITestExecutor interface.
- "Run C# Tests" and "Run GDScript Tests" buttons to editor bottom panel.
- ScriptMethodInfo, ScriptMethodReturnInfo & ScriptMethodArgumentsInfo records.
- TestLog list in TestResult and TestClassResult records.
- EscapeInvisibleCharacters string extension.
- Enums:
- ELogType
- ELogOutputType
- ERunTargetType
- Alternative JSON output of test results.
- Total number of test classes to TestResult record.
- RunTarget struct and added it to TestsProps struct.
- Color.TerminalReset is now static readonly field.
- Moved TestsExecutionStarted/Finished signals to TestRunner.
- The "Run All Tests" button is no longer available when tests are executed.
- Minor changes in exceptions messages.
- Code style improvements.
- Minor optimizations.
- Improved independence from culture.
- Renamed:
- TestDiscovery -> CsTestDiscovery
- TestBottomPanel -> ConfirmaBottomPanel
- Class names are colored to help distinguish classes from tests.
Log.Print
prints to the stdio by default.- Methods in
Log
andColors
are generic. - Errors from
Log.PrintError
are printed to stderr instead of stdout. - Argument '--confirma-method' no longer allows empty value.
- TestExecutor.cs
- TestOutput.cs
- Argument "--confirma-quit".
ClassName
&MethodName
from TestsProps.cs.
- Resource leak on Godot editor exit.
- Parallelizable tests log is out of order.
- Printed newline characters in arguments messes up the output.
ConfirmEqual
/ConfirmNotEqual
for arrays passed as object in case of an exception returns only the type instead of the actual values.Log.Print
throws exception when used too early.- Argument '--confirma-run' with invalid class name throws a NullReferenceException.
- Confirma can operate from a location other than the default.
- Single tests are run twice.
- Issues occur when adding Confirma to the bottom panel of the editor when starting Godot.
- '--confirma-method' argument allowing to run a single method.
- Flag to Repeat attribute to stop repeating after the first failed test.
- Confirma uses invariant culture when working with strings & numbers.
- TestDiscovery class is now static.
- Renamed protected '_autoload' & '_output' fields to 'Autoload' & 'Output'.
- Repeat field in TestCase is now of type RepeatAttribute and not ushort.
- Extensions:
- NextDouble
- NextElement
- NextElements
- NextShuffle
- NextChar
- NextLowerChar
- NextUpperChar
- NextDigitChar
- NextString
- ConfirmLowercase
- ConfirmUppercase
- Extensions:
- ConfirmIsOdd
- ConfirmIsEven
- ConfirmCloseTo
- Extension classes:
- RandomEnumExtensions
- RandomBooleanExtensions
- RandomNetworkExtensions
- Confirm class with assertions:
- IsEnumValue
- IsNotEnumValue
- IsEnumName
- IsNotEnumName
- IsTrue
- IsFalse
- Throws
- NotThrows
- Addon icon.
- Numeric extensions now use 'INumber' generic constraint instead of 'IComparable, IConvertible, IComparable, IEquatable'.
- ConfirmMatchesPattern
- Extensions:
- ConfirmSign
- ConfirmMatchesPattern
- ConfirmThrowsWMessage
- ConfirmNotThrowsWMessage
- ConfirmDoesNotMatchPattern
- Extension classes:
- ConfirmUuidExtensions
- ConfirmEventExtensions
- ConfirmActionExtensions
- ConfirmDateTimeExtensions
- ConfirmReferenceExtensions
- Simple library for generating random:
- Numbers
- UUIDs
- Assertion chaining.
- Repeat attribute.
- Improved default messages.
- Typo in ConfirmRangeExtensions.
- Parallel execution of tests has been improved, significantly increasing performance.
- Message parameter to all extensions.
- Ignore attribute now accepts EIgnoreMode enum which allows ignoring class/method always or when ran from editor.
- Improved display of passed parameters to the methods.
- Improved default exception messages.
- Static Global class which simplifies access for the tests to the scene tree.
- Assertions for IEnumerable & attributes.
- Simplified checking if Action/Func throws an exception.
- Default, more concise way of displaying information in the terminal.
- Allow running tests in verbose mode via editor.
- '--confirma-verbose' argument.
- '--confirma-sequential' argument.
- The old way of displaying information is available under the '--confirma-verbose' argument.
- Moved extensions from Confirma namespace to Confirma.Extensions.
- TestRunner in editor doesn't work.
- 'Node not found: "/root/Confirma"' error in the editor when starting the project.
- '--confirma-exit-on-failure' argument.
- run_tests.sh script.
- Classes:
- Converter
- VectorExtensions
- VariantExtensions
- ConfirmFileExtensions
- ConfirmVectorExtensions
- ConfirmSignalExtensions
- ConfirmNumericExtensions
- ConfirmDictionaryExtensions
- String extensions:
- ConfirmNotHasLength
- ConfirmEqualsCaseInsensitive
- ConfirmNotEqualsCaseInsensitive
- Moved ConfirmAssert exception to Confirma.Exceptions namespace.
Initial release.
Start of the project.