mockito library

Mockito integration utilities for testing Result types.

This library provides helpers for stubbing methods that return Result or Future<Result<T, E>> with Mockito:

  • whenResult: Wrapper for when() that handles Result return types
  • whenFutureResult: Wrapper for when() that handles Future<Result> return types

These helpers automatically register dummy values via provideDummy and provide detailed error messages for type mismatch debugging.

Note: This library requires mockito as a dependency in your project.

Example:

import 'package:dars/dars.dart';
import 'package:dars_test/mockito.dart';
import 'package:mockito/mockito.dart';

// With @GenerateMocks
whenResult(() => mock.getUser(any), dummy: Ok(User.empty()))
  .thenReturn(Ok(actualUser));

whenFutureResult(() => mock.fetchData(), dummy: Ok(''))
  .thenAnswer((_) async => Ok('data'));

Functions

whenFutureResult<T, E extends Object>(Future<Result<T, E>> invocation(), {Result? dummy}) → PostExpectation<Future<Result<T, E>>>
A wrapper for Mockito's when that simplifies stubbing methods returning Future<Result>.
whenResult<T, E extends Object>(Result<T, E> invocation(), {Result? dummy}) → PostExpectation<Result<T, E>>
A wrapper for Mockito's when that simplifies stubbing methods returning Result.