:balloon: 7 years and 63 releases later, it's finally time for the 1.0 :balloon:
Changes
[Breaking] The legacy interface was removed in this version
[Breaking]Mock::with_body_from_fn was renamed to Mock::with_chunked_body - the former is still supported with a deprecation warning
Mocks are only cleared when the server is dropped, not when the mock is dropped - this means you don't have to assign mocks to variables any more (unless you want to call other methods on them)
Introduced the Mock::remove and Mock::remove_async methods to remove mocks on demand
Major changes since 0.31
Tests can now run in parallel
Support for HTTP2
An async interface for all actions (though the sync interface is also available)
Mock multiple server/hosts at the same time
For a list of all the changes please check the release log.
Migrating to the new API
Legacy API:
let m1 = mockito::mock("GET", "/hello").with_body("hello").create();
let m2 = mockito::mock("GET", "/bye").with_body("bye").create();
// Use one of these to configure your client
let host = mockito:server_address();
let url = mockito::server_url();
New API:
let mut server = mockito::Server::new();
server.mock("GET", "/hello").with_body("hello").create();
server.mock("GET", "/bye").with_body("bye").create();
// Use one of these to configure your client
let host = server.host_with_port();
let url = server.url();
If you can't migrate to the new API in one go, consider using version 0.32.5, which supports both the legacy API as well as the new API.
Migrating to the async API
In order to write async tests, you'll need to use the _async methods:
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Updates the requirements on mockito to permit the latest version.
Release notes
Sourced from mockito's releases.
... (truncated)
Commits
9a07811
Bump to 1.0.0000c435
Merge pull request #165 from lipanski/one-zero68c5629
Remove mocks when the server is dropped, not when the mock is droppedac9042d
Add the Windows line-ending fix to the test runner0ce9788
Disable color tests on Windowsad2ebcb
Fine-tuning the Windows test runnerabb9e91
Run Windows tests on Github Actions5a7c96e
Rename Mock::with_body_from_fn to Mock::with_chunked_bodyed338fa
Uncomment threads tests6e2064d
Drop legacy interfaceDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)