Skip to content

Latest commit

 

History

History
120 lines (78 loc) · 5.66 KB

File metadata and controls

120 lines (78 loc) · 5.66 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


Added

  • BDD Class skip annotation support for skipping entire test classes.
  • Add expectation context support via expect( value ).withContext( message ) that prepends semantic context to all failure messages including negated matchers and custom matchers.
  • Add collection expectation modes: expectAny(), expectSome(), and expectNone() alongside existing expectAll() with detailed failure summaries including element index/key and pass count reporting.
  • Add grouped assertions via $assert.all(), assertAll() that run multiple assertion closures and report every failure at once instead of stopping at the first.
  • Add new matchers: toBeTruthy(), toBeFalsy(), toBeSameInstanceAs(), toHaveSize(), toThrowMatching(), toIncludeAll(), toIncludeAny(), and toIncludeNone().
  • Add set expectations: toBeASet(), toEqualSet(), toBeSubsetOf(), toBeSupersetOf(), toBeDisjointFrom(), toHaveUnion(), toHaveIntersection(), toHaveDifference(), and toHaveSymmetricDifference() for working with BoxLang Set objects.
  • Add range expectations: toBeRange(), toContainValue(), toContainRange(), toBeInRange(), toBeBeforeRange(), toBeAfterRange(), toBeBounded(), toBeUnbounded(), toBeHalfBounded(), toBeIterable(), toBeAscending(), toBeDescending(), toHaveStep(), and toClampTo() for BoxLang Range objects.
  • Add data navigator expectations: toHavePath(), toHavePathValue(), toHavePathType(), toHavePathSatisfying(), path(), and queryPath() for navigating and asserting against nested BoxLang data structures using dot-notation, array indexes, wildcards, filters, and recursive descent.
  • Add new assertion BIFs: $assert.isTruthy(), $assert.isFalsy(), $assert.includesAll(), $assert.includesAny(), and $assert.includesNone().

Improvements

  • Improve matcher failure messages with optional contextual prefix for distinguishing chained expectations.
  • Improve expectAll() failure messages to include pass/fail counts and per-element failure details with index/key context.
  • Add docs/whats-new-with-7.0.0.md release page documenting all new assertion and expectation features.

Fixed

  • Fix custom matcher failure messages not routing through the expectation's internal fail method.

7.0.0 - 2026-03-17

6.5.0 - 2026-01-25

6.4.0 - 2025-09-18

6.3.2 - 2025-04-29

Fixed

  • Update the run runners so they use the calculated location paths.

6.3.1 - 2025-04-01

Fixed

  • Fixed a typo in BaseReporter

6.3.0 - 2025-02-25

6.2.1 - 2025-02-06

6.2.0 - 2025-01-31

6.1.0 - 2025-01-28

6.0.1 - 2024-12-05

6.0.0 - 2024-09-27

New Features

  • TESTBOX-391 MockBox converted to script
  • TESTBOX-392 BoxLang classes support
  • TESTBOX-393 New environment helpers to do skip detections or anything you see fit: isAdobe, isLucee, isBoxLang, isWindows, isMac, isLinux
  • TESTBOX-394 new test(), xtest(), ftest() alias for more natuarl testing
  • TESTBOX-397 debug() get's two new arguments: label and showUDFs
  • TESTBOX-398 DisplayName on a bundle now shows up in the reports
  • TESTBOX-399 xUnit new annotation for @DisplayName so it can show instead of the function name
  • TESTBOX-401 BoxLang CLI mode and Runner
  • TESTBOX-402 New matcher: toHaveKeyWithCase()
  • TESTBOX-403 Assertions: key() and notKey() now have a CaseSensitive boolean argument

Improvements

  • TESTBOX-289 showUDFs = false option with debug()
  • TESTBOX-331 TextReporter doesn't correctly support testBundles URL param
  • TESTBOX-395 adding missing focused argument to spec methods
  • TESTBOX-396 Generating a repeatable id for specs to track them better in future UIs

Bugs

  • TESTBOX-123 If test spec descriptor contains a comma, it can not be drilled down to run that one spec directly
  • TESTBOX-338 describe handler in non-called test classes being executed

Tasks

  • TESTBOX-400 Drop Adobe 2018 support