mockito 5.4.3  mockito: ^5.4.3 copied to clipboard
mockito: ^5.4.3 copied to clipboard
A mock framework inspired by Mockito with APIs for Fakes, Mocks, behavior verification, and stubbing.
5.4.3 #
- Require analyzer 5.12.0, allow analyzer version 6.x;
- Add example of writing a class to mock function objects.
- Add support for the build_extensionsbuild.yaml option
- Require Dart >=3.1.0.
- Potentially breaking Changed default Stringvalue returned by nice mocks' unstubbed method to include some useful info. This could break the tests that relied on getting an emptyStringfrom unstubbed methods.
- Remove deprecated returnNullOnMissingStubandOnMissingStub.returnNullMockSpecoptions.
5.4.2 #
- Require code_builder 4.5.0.
- Add support for records.
- Fixed the bug with missing imports for unused type alias arguments.
5.4.1 #
- Deprecate the mixingInargument toMockSpec. Best practice is to avoid any concrete implementation in classes which extendMock.
- Fixed generation for clashing type variable names.
- Require Dart >= 2.19.0.
- Require analyzer 5.11.0.
- Fail to generate mocks of sealed/base/finalclasses.
- Add new thenReturnInOrdermethod to mock multiple calls to a single method in order.
- Add provideDummy/provideDummyBuilderfunctions for users to supply dummy values to Mockito, to cover cases where codegen can't create one.
- Allow generating mocks for classes with methods/getters returning non-nullable unknown types.
5.4.0 #
- Fix nice mocks generation in mixed mode (generated code is pre null-safety, while mocked class is null-safe).
- Support typedef-aliased classes in @GenerateMocksand@GenerateNiceMocks
- Breaking Default generate_fortotest/**. Projects that are generating mocks for libraries outside of thetest/directory should add an explicitgenerate_forargument to include files with mock generating annotations.
- Require Dart >= 2.17.0.
- Require analyzer 5.2.0.
5.3.2 #
- Support analyzer 5.0.0.
5.3.1 #
- Fix analyzer and code_builder dependencies.
- Reference @GenerateNiceMocksin documentation.
- Allow generating a mock class which includes overriding members with private
types in their signature. Such members cannot be stubbed with mockito, and
will only be generated when specified in MockSpec unsupportedMembers.
- Include requiredkeyword in functions used as default return values.
5.3.0 #
- Introduce a new MockSpecparameter,onMissingStub, which allows specifying three actions to take when a real call is made to a mock method with no matching stub. The two existing behaviors are the default behavior of throwing an exception, and the legacy behavior of returningnull. A new behavior is also introduced: returning a legal default value. With this behavior, legal default values are returned for any given type.
- Deprecate the MockSpecreturnNullOnMissingStubparameter in favor of the newonMissingStubparameter.
- Introduce a new @GenerateNiceMocksannotation, that uses the new "return a legal value" behavior for missing stubs.
- Add SmartFakeclass to be used as a return values for unstubbed methods. It remembers where it was created and throws a descriptive error in case the fake is later used.
- Include requiredkeyword in function types to match overridden function types.
5.2.0 #
- Fix generation of methods with return type of FutureOr<T>for generic, potentially nullableT.
- Support @GenerateMocksannotations onimportandexportdirectives.
- Support analyzer 4.x.
5.1.0 #
- In creating mocks for a pre-null-safe library, opt out of null safety in the generated code.
- Properly generate method overrides for methods with covariant parameters. #506
- Correctly generate a toStringoverride method for pre-null safe libraries, for which the class-to-mock implementstoStringwith additional parameters.
- Improve messaging in a MissingStubError, directing to the docs for MockSpec.
- Fix incorrect error when trying to mock a method with a parameter with inner function types (like in type arguments) which are potentially non-nullable. #476
- Allow fallback generators to be applied for getters.
- Support generating a mock class for a class with members with non-nullable
unknown return types via a new parameter on MockSpeccalledunsupportedMembers. See NULL_SAFETY_README for details.
5.0.17 #
5.0.16 #
- Fix type reference for nested, imported types found in type arguments on a custom class-to-mock. #469
- Bump minimum analyzer dependency to version 2.1.0.
- Ignore camel_case_typeslint in generated code.
5.0.15 #
- Fix an issue generating the correct parameter default value given a constructor which redirects to a constructor declared in a separate library. #459
5.0.13 #
- Implement methods which have been overridden in the mixin hierarchy properly. Previously, mixins were being applied in the wrong order, which could skip over one method that overrides another with a different signature. #456
5.0.12 #
- Use an empty list with a correct type argument for a fallback value for a method which returns Iterable. #445
- When selecting the library that should be imported in order to reference a type, prefer a library which exports the library in which the type is declared. This avoids some confusion with conditional exports. #443
- Properly reference types in overridden toStringimplementations. #438
- Override toStringin a Fake implementation when the class-to-be-faked has a superclass which overridestoStringwith additional parameters. #371
- Support analyzer 2.x.
5.0.11 #
- Allow two mocks of the same class (with different type arguments) to be specified with different fallback generators.
- Allow fallback generators on super types of a mocked class.
- Avoid inference_failure_on_instance_creationerrors in generated code.
- Ignore implementation_importslint in generated code.
- Support methods with FunctionandFuture<Function>return types.
5.0.10 #
- Generate a proper mock class when the mocked class overrides toString,hashCode, oroperator==. #420
- Override toStringimplementation on generated Fakes in order to match the signature of an overriding method which adds optional parameters. #371 Properly type methods in a generated mock class which comes from a "custom mock" annotation referencing an implicit type. Given a method which references type variables defined on their enclosing class (for example,Tinclass Foo<T>), mockito will now correctly referenceTin generated code. #422
5.0.9 #
- Mock classes now implement a type's nested type arguments properly. #410
- Mock classes now implement API from a class's interface(s) (in addition to superclasses and mix ins). Thanks @markgravity. #404
- A MockSpec passed into a @GenerateMocksannotation'scustomMockslist can now specify "fallback generators." These are functions which can be used to generate fake responses that mockito's code generation needs in order to return a value for a method with a generic return type. See NULL_SAFETY_README for details.
5.0.8 #
- Migrate Mockito codegen to null safety.
- Support mocking methods with typed_data List return types.
- Support mocking methods with return types declared in private SDK libraries
(such as HttpClient and WebSocket, declared in dart:_http).
- Do not generate a fake for a class which is only used as a nullable type in a Future. #409
5.0.7 #
5.0.6 #
- Support the 0.4.x releases of test_api.
5.0.5 #
- Support 4.x releases of code_builder.
5.0.4 #
5.0.3 #
- Support 1.x releases of source_gen.
5.0.2 #
- Support the latest build packages and dart_style.
5.0.1 #
- Update to the latest test_api.
- Fix mock generation of type which has a supertype which mixes in a mixin.
- Fix mock generation of method which returns a non-nullable generic function type.
5.0.0 #
- verifyInOrdernow returns a- List<VerificationResult>which stores arguments which were captured in a call to- verifiyInOrder.
- Breaking change: Remove the public constructor for VerificationResult.
- Doesn't allow verifybeen used inside theverifyInOrder.
5.0.0-nullsafety.7 #
- Fix generation of duplicate mock getters and setters from inherited classes.
5.0.0-nullsafety.6 #
- Fix generation of method with a parameter with a default value which includes a top-level function.
- Migrate example code to null safety.
- Breaking change: Change the error which is thrown if a method is called and no method stub was found, from NoSuchMethodError to MissingStubError.
- Breaking change: Mock.noSuchMethod's optional positional parameter, "returnValue" is changed to a named parameter, and a second named parameter is added. Any manual mocks which callMock.noSuchMethodwith a second positional argument will need to instead use the named parameter.
- Allow real calls to mock methods which return void(like setters) orFuture<void>, even if unstubbed.
5.0.0-nullsafety.5 #
- Fix noSuchMethodinvocation of setters in generated mocks.
5.0.0-nullsafety.4 #
- Annotate overridden getters and setters with @override.
5.0.0-nullsafety.3 #
- Improve static analysis of generated code.
- Make implicit casts from dynamic in getters explicit.
5.0.0-nullsafety.2 #
- Fix issue with generated code which references a class declared in a part (#310).
5.0.0-nullsafety.1 #
- Fix an issue with generated mocks overriding methods from Object, such as
operator ==(#306).
- Fix an issue with relative imports in generated mocks.
5.0.0-nullsafety.0 #
- Migrate the core libraries and tests to null safety. The builder at
lib/src/builder.dartopts out of null safety.
- Add httpback todev_dependencies. It's used by the example.
- Remove deprecated typed,typedArgThat, andtypedCaptureThatAPIs.
4.1.3 #
- Allow using analyzer 0.40.
- throwOnMissingStubaccepts an optional argument,- exceptionBuilder, which will be called to build and throw a custom exception when a missing stub is called.
4.1.2 #
- Introduce experimental code-generated mocks. This is primarily to support the new "Non-nullable by default" (NNBD) type system coming soon to Dart.
- Add an optional second parameter to Mock.noSuchMethod. This may break clients who use the Mock class in unconventional ways, such as overridingnoSuchMethodon a class which extends Mock. To fix, or prepare such code, add a second parameter to such overridingnoSuchMethoddeclaration.
- Increase minimum Dart SDK to 2.7.0.
- Remove Fake class; export identical Fake class from the test_api package.
4.1.1 #
- Mark the unexported and accidentally public setDefaultResponseas deprecated.
- Mark the not useful, and not generally used, namedfunction as deprecated.
- Produce a meaningful error message if an argument matcher is used outside of
stubbing (when) or verification (verifyanduntilCalled).
4.1.0 #
- Add a Fakeclass for implementing a subset of a class API as overrides without misusing theMockclass.
4.0.0 #
3.0.2 #
- Rollback the test_api part of the 3.0.1 release. This was breaking tests that use Flutter's current test tools, and will instead be released as part of Mockito 4.0.0.
3.0.1 #
3.0.0 #
- 
Deprecate the typedAPI; instead of wrapping other Mockito API calls, likeany,argThat,captureAny, andcaptureArgThat, with a call totyped, the regular API calls are to be used by themselves. PassinganyandcaptureAnyas named arguments must be replaced withanyNamed()andcaptureAnyNamed, respectively. PassingargThatandcaptureThatas named arguments must include thenamedparameter.
- 
Introduce a backward-and-forward compatible API to help users migrate to Mockito 3. See more details in the upgrading-to-mockito-3 doc. 
- 
thenReturnnow throws anArgumentErrorif either aFutureorStreamis provided.thenReturncalls with futures and streams should be changed tothenAnswer. See the README for more information.
- 
Support stubbing of void methods in Dart 2. 
- 
thenReturnandthenAnswernow support generics and infer the correct types from thewhencall.
- 
Completely remove the mirrors implementation of Mockito ( mirrors.dart).
- 
Fix compatibility with new noSuchMethod Forwarding feature of Dart 2. This is thankfully a mostly backwards-compatible change. This means that this version of Mockito should continue to work: - with Dart >=2.0.0-dev.16.0,
- with Dart 2 runtime semantics (i.e. with dart --preview-dart-2, or with Flutter Beta 3), and
- with the new noSuchMethod Forwarding feature, when it lands in CFE, and when it lands in DDC.
 This change, when combined with noSuchMethod Forwarding, will break a few code paths which do not seem to be frequently used. Two examples: class A { int fn(int a, [int b]) => 7; } class MockA extends Mock implements A {} var a = new MockA(); when(a.fn(typed(any), typed(any))).thenReturn(0); print(a.fn(1));This used to print null, because only one argument was passed, which did not match the two-argument stub. Now it will print0, as the real call contains a value for both the required argument, and the optional argument.a.fn(1); a.fn(2, 3); print(verify(a.fn(typed(captureAny), typed(captureAny))).captured);This used to print [2, 3], because only the second call matched theverifycall. Now, it will print[1, null, 2, 3], as both real calls contain a value for both the required argument, and the optional argument.
- with Dart 
- 
Upgrade package dependencies. 
- 
Throw an exception when attempting to stub a method on a Mock object that already exists. 
2.2.0 #
- Add new feature to wait for an interaction: untilCalled. See the README for documentation.
- capture*calls outside of a- verify*call no longer capture arguments.
- Some collections require stricter argument matching. For example, a stub like:
mock.methodWithListArgs([1,2,3].map((e) => e*2))(note theIterableargument) will no longer match the following stub:when(mock.methodWithListArgs([42])).thenReturn(7);.
2.1.0 #
- Add documentation for when,verify,verifyNever,resetMockitoState.
- Expose throwOnMissingStub,resetMockitoState.
- Improve failure message for verify.
- SDK version ceiling bumped to <2.0.0-dev.infinityto support Dart 2.0 development testing.
- Add a Mockito + test package example at test/example/iss.
2.0.2 #
- Start using the new InvocationMatcherinstead of the old matcher.
- Change throwOnMissingStubback to invokingObject.noSuchMethod:- It was never documented what the thrown type should be expected as.
- You can now just rely on throwsNoSuchMethodErrorif you want to catch it.
 
2.0.1 #
- Add a new throwOnMissingStubmethod to the API.
2.0.0 #
- Removed mockito_no_mirrors.dart
2.0.0-dev #
- Remove export of spyand anydart:mirrorsbased API frommockito.dart. Users may import aspackage:mockito/mirrors.dartgoing forward.
- Deprecated mockito_no_mirrors.dart; replace withmockito.dart.
- Require Dart SDK >=1.21.0 <2.0.0to use generic methods.
1.0.1 #
- Add a new thenThrowmethod to the API.
- Document thenAnswerin the README.
- Add more dartdoc.
1.0.0 #
- Add a new typedAPI that is compatible with Dart Dev Compiler; documented in README.md.
0.11.1 #
- Move the reflection-based spycode into a private source file. Nowpackage:mockito/mockito.dartincludes this reflection-based API, and a newpackage:mockito/mockito_no_mirrors.dartdoesn't require mirrors.
0.11.0 #
- Equality matcher used by default to simplify matching collections as arguments. Should be non-breaking change in most cases, otherwise consider using argThat(identical(arg)).
0.10.0 #
- Added support for spy.
0.9.0 #
- Migrate from the unittest package to use the new test package.
- Format code using dartformat