All notable changes to this project will be documented in this file.
Changes in state strings or Unity Editor utilities are not considered breaking changes.
- Allow passing a list of exceptions to be rethrown, instead of wrapped in
TestFailureException. This allows e.g. NUnit's
IgnoreExceptionto function properly.
- Long descriptions in the operation state window no longer cause tests to fail because Unity spits out an error about too many vertices in a Label.
- Make NUnit's
Assert.Ignorework properly on Unity (see Added above for .NET).
4.1.2 - 2021-07-17
TestInstructionExecutor.Disposeno longer throws an exception if called twice.
Sequencewill no longer include duplicate entires in the test instruction stack section of error messages.
X s ≈ Y framesinstead of
X s and Y framesin output to clarify the meaning.
- Add stack trace to
- Unity: Intercept errors logged from non-Unity threads also.
4.1.1 - 2021-05-20
- Fix error handling in
AndThento publish the correct exception. This was previously causing an internal exception to be published instead under certain conditions.
- Change responder state string from
CONDITION EXPECTED WITHINto better reflect what it actually does.
4.1.0 - 2021-05-13
- Fix description of
- Handle source paths not under project gracefully when executing in Unity Editor.
- Fix state string if
AndThencontinuation function throws an exception.
- Handle aborting tests better in the Unity state window.
- Simplify unnecessarily complex timeout time formatting.
- Allow passing
4.0.0 - 2021-03-28
- Removed the UniRx dependency, now uses
- Unity-specific functionality was moved to work through abstractions.
Unit-typed operators now use
objectinstead. This works better most of the time, due to covariance!
- Operation state notifications use a callback instead of an observable.
- All observable-related functions (
AsUnit...operators: you can use
BoxResultor just implicit covariance instead.
- Support for .NET standard 2.0 (and NuGet publishing)
ToTaskmethods, which replace
ToObservable. Note: If you were using these, you can use the UniRx
ToObservablemethod to convert a task to an observable.
UnityTestInstructionExecutor, which should provide the same functionality as
AsUnit...operators when working with value types.
- Support for adding extra global context into failure messages.
3.0.1 - 2021-03-14
- Fix inclusion of documentation in releases, no changes in the library itself.
3.0.0 - 2021-03-14
- HTML documentation generated with DocFX
- Test operation status window in Unity Editor, under
- Some parameters renamed for better documentation.
- Classes and functionality which was intended to be internal were marked as internal.
2.0.0 - 2021-02-26
- Simplifies the public API by reducing the number of overloads used. This should make auto-completion and compiler errors more friendly.
WaitForCoroutineoverrides, which make a result using a selector:
Selectcan be used instead.
ThenRespondWithoverrides renamed to
WaitForCoroutineto two versions:
1.2.0 - 2020-12-02
- Fix source context of
- Show canceled wait conditions as canceled instead of running in output. A wait may get canceled e.g. as part of an optional test responder.
- Simplify output when
ExpectWithinSecondis used, by showing
EXPECTED WITHIN ...on the same line as the expected operation, instead of
EXPECT WITHIN ...with the operation nested below it. This is only applicable to simple wait conditions and responders.
1.1.0 - 2020-11-11
WaitForConditionOnfor a more streamlined syntax for waiting for a condition on some object, and then returning that object (or something derived from that object).
WaitForFrames, for those cases when you actually really need it
- Allows executing
ToYieldInstruction/Observable, allowing you to log the state while executing it.
- Sample project with sample tests.
- Add context to output when
- Fix referential transparency of
IResolveConstraint.Resolve()can mutate the condition and produce weird results when called multiple times.
int(practically backwards compatible).
- Improve documentation, especially about getting started.
- Move tests out of package, so that they don't get included in projects that use Responsible.
1.0.0 - 2020-09-23
- Initial public release with basic functionality.