Permalink
1d49558 Feb 8, 2018
2 contributors

Users who have contributed to this file

@slackersoft @bcaudan
90 lines (53 sloc) 2.95 KB

Jasmine-Core 3.0 Release Notes

Summary

Jasmine 3.0 is a major release of Jasmine, and as such includes some breaking changes in addition to various new features.

There is also a 2.99 release of Jasmine that will present deprecation warnings for suites that will encounter different behavior in 3.0.

Breaking Changes

  • Replace old "catch exceptions" logic with proper fail fast with error reporting

  • Detect an Error passed to done and add an expectation failure

  • Unify status for xdescribe and xit

    • Ensure *All's only execute if at least one child will run
    • Specs will report a status of excluded instead of disabled
    • Fixes #1418
  • Suite level errors all report the same way (on suiteDone)

  • Refactor QueueRunner and remove references to functions that Jasmine is done with

  • expect(null).toEqual(jasmine.any(Object)) no longer passes

  • Default to running tests in random order

  • Additionally, Jasmine 3.0 drops support for older browsers and environments. Notably:

    • Internet Explorer 8 and 9
    • Ruby 1.x (for the Ruby gem)
    • Rails 3.x (for the Ruby gem)
    • Python 2.x (for the Python wheel)
    • Nodejs 0.x (for the NPM package)

Changes

  • Remove node modules from python wheel, and update languages

  • Allow reporter callbacks to be asynchronous

  • Allow adding custom spy strategies

  • Add the ability to specify the strategy to use for a spy based on which parameters are passed

  • Added links to re-run the suites containing a failing spec

  • Added a toHaveClass matcher

  • More informative pretty-printing of DOM elements

  • Allow jasmine-npm to handle its own load errors

  • Treat random= as a no-op rather than disabling randomization

  • Use prototype for spy strategy for better memory management

  • Remove console.js altogether

  • Add safari 10 and update readme to include edge

  • Determine overall status in core, not reporters

  • Filter Jasmine frames from stack traces

  • Treat afterAll errors at any level as failures

  • Improved reporting of load errors and afterAll errors

    • Pass file and line number to reporters when present
    • Show file and line number in the HTML reporter when present
    • Visually separate adjacent errors in the HTML reporter
  • Report loading errors as loading errors, not afterAll errors

  • HTML reporter reports overall failure if there are any global errors

  • Fail if error events (e.g. syntax errors) occur during loading

  • Allow use of a predicate function to validate thrown exceptions

  • Check truthiness of toThrowError args, not arg count


_Release Notes generated with Anchorman