call method

  1. @override
T call([
  1. List? args,
  2. Map<String, dynamic>? namedArgs
])
inherited

Returns the mocked value. args and namedArgs should be provided if the mocked function takes arguments.

Example:

class MockClass extends ClassToMock {
  final MockableFunctionOf<String> mock = MockableFunctionOf<String>('foobar');

  @override
  String mockedFunction(String foo, {String? bar}) {
    return mock.call(args: [foo], namedArgs: {'bar': bar});
  }
}

Implementation

@override
T call([List<dynamic>? args, Map<String, dynamic>? namedArgs]) {
  if (_pause) {
    if (!_pauseRespectsNextCall) {
      return _pauseValue;
    }

    // Intentionally continue if respectNextCall is true
  } else {
    callArgs.add(CallArgs(args, namedArgs));
    callCount++;
  }

  if (_throwNextCall) {
    _throwNextCall = false;
    if (_e != null) {
      _e = null;
      throw _e!;
    }
    throw 'Mocked exception';
  }

  if (_returnNextCall) {
    _returnNextCall = false;
    final T nextValue = _returnNextValue;
    __returnNextValue = null;
    return nextValue;
  }

  return value;
}