- separate existing Rely junit reporter into separate package to remove transitive dependencies on tyxml and js_of_ocaml
- spin off existing Rely junit reporter into separate package to remove transitive dependencies on tyxml and js_of_ocaml
- Alpha version of CLI package, released for Rely bugfix
- Release cli package in alpha so the new version of Rely can build properly
- Better command line interface (documentation of available options is now available along with several aliases)
- Ability to filter which tests are run from the command line using
--filter
or-f
- Bugfix for the injection of time for non-native compilation targets
- Add
Pastel.make
to provide better support for those not using the JSX PPX (e.g. OCaml)
- bugfix for input "" "" in human readable mode
- Add matchers for ensuring that a particular number of assertions have run (useful for testing assertions inside of callbacks)
- expect.assertions(int) verifies a specific number of (non expect.assertions/hasAssertions) assertions have been called
- expect.hasAssertions matchers verifies at least one (non expect.assertions/hasAssertions) assertion has been called
- Added functions for performing setup and teardown operations
- beforeAll, afterAll, beforeEach, afterEach
- documentation available here
- [Breaking] as a result of adding test lifecycle functions, an "env" field was added to the record passed as an argument to tests and some types gained an additional parameter. Most users should be able to upgrade without code changes, but utilities with manual type annotations on the test, describe, or expect types from Rely will need to be updated. Additionally warning 9 errors may be generated from the test record if those are not supressed.
- The previous pattern for registering custom matchers has been deprecated, it still works as of this release, but may eventually be removed entirely
- Add a --onlyPrintDetailsForFailedSuites command line flag for only printing failed output
- expect.mock.nthCalledWith/nthReturnedWith matchers
- expect.result matchers for the built in result type
- various internal changes to support compilation to JS with Js_of_ocaml
- it works!
- better failure messages when unable to create a snapshot directory
- depend on @opam/qcheck-core instead of @opam/qcheck to drastically reduce dependencies pulled in
- Remove confusing matcher hint from qcheck rely output
- Initial release, see the README in the src/qcheck-rely directory for usage
- describeOnly, testOnly
- if there is a describeOnly or testOnly present anywhere in the set of tests to be run, only tests inside of a testOnly or describeOnly will be run. skip takes precedence over only (e.g. a testOnly inside a describeSkip will be skipped)
- this is only intended for use in local development as a single only disables every other test
- ciMode
- the ciMode option has been added to runConfig, when run with ciMode(true) or in CLI mode with the --ci flag ci mode will be enabled. Currently this causes Rely to throw an exception if there any testOnly or describeOnly. To skip tests in CI use testSkip/describeSkip
- expect.option matchers
- toBeNone, toBeSome, toBe matchers
- [BREAKING] Add optional locations to Passed and Skipped test status variant constructors for reporters
- [BREAKING] TestFramework.extendDescribe now returns a record instead of a describe function
- changing
let describe = extendDescribe(...)
tolet {describe} = extendDescribe
should be sufficient for users of this feature- needed for future implementation of describeOnly/testOnly
- changing
- Allow combining of test libraries via Rely.combine and TestFramework.toLibrary
- Fix bug where skipping snapshot tests would cause snapshots to be deleted
- Improve printing of exceptions with multiple lines of text
- Fix bug where expect.string.toMatch would only check matches beginning on first character, changed to match behavior of Jest and also switched internal implementation from str to re
- jUnit reporter
- throw error when nesting top level TestFramework.describe
- Fix bug with windows powershell support
- Console.Pipe feature
|> List.map(mapper)
|> Console.Pipe.log
|> Array.of_list
- Shorten paths for windows relocatable build support
- Windows powershell support for colors
- Infer default mode to account for non-tty terminals and the FORCE_COLOR environment variable
- Mock functions
- Created via Mock.mock3(implementation)
- new mock matchers
- expect.mock(myMock).toBeCalled()
- describeSkip
- Polymorphic equality matchers (great for record comparison)
- overwriteable equality (structural by default) expect.equal(~equals=?, thing1, thing2)
- referential equality expect.same(thing1, thing2)
- Better default output in non-tty environment
- Public reporters API
- Expose onTestSuiteStart, onTestSuiteEnd, onRunStart, onRunComplete test lifecycle methods
- Allow registering custom reporters
- Update default reporter to include timing data
- Collection matchers
- expect.list
- expect.array
- testSkip
- new field added to the record passed to the function passed to describe
- this may cause additional warning 9's
- new field added to the record passed to the function passed to describe
- skipped tests are not run
- Added support for modes
- Terminal
- previous behavior
- HumanReadable
- (
<Pastel color=red>"HelloWorld"</Pastel> => "<red>HelloWorld</red>"
)
- (
- Disabled
- (
<Pastel color=red>"HelloWorld"</Pastel> => "HelloWorld"
)
- (
- Pastel.getMode
- Pastel.setMode
- Pastel.useMode(mode, thunk)
- saves the current mode, sets the mode to the desired mode, executes the thunk, restores the saved mode
- Pastel.Make
- functor to allow sandboxing of Pastel instances now that mode is a "global" setting
- Terminal
- Initial code release. See documentation for usage.