mocktail 0.0.1-dev.12 copy "mocktail: ^0.0.1-dev.12" to clipboard
mocktail: ^0.0.1-dev.12 copied to clipboard

outdated

A Dart mocking library which simplifies mocking with null safety support and no manual mocks or code generation.

example/main.dart

import 'package:mocktail/mocktail.dart';
import 'package:test/test.dart';

// A Real Cat class
class Cat {
  String sound() => 'meow!';
  bool likes(String food, {bool isHungry = false}) => false;
  final int lives = 9;
}

// A Mock Cat class
class MockCat extends Mock implements Cat {}

void main() {
  group('Cat', () {
    late Cat cat;

    setUp(() {
      cat = MockCat();
    });

    test('example', () {
      // Stub a method before interacting with the mock.
      when(cat).calls(#sound).thenReturn('purr');

      // Interact with the mock.
      expect(cat.sound(), 'purr');

      // Verify the interaction.
      verify(cat).called(#sound).once();

      // Stub a method with parameters
      when(cat).calls(#likes).withArgs(
        positional: ['fish'],
        named: {#isHungry: false},
      ).thenReturn(true);
      expect(cat.likes('fish'), isTrue);

      // Verify the interaction.
      verify(cat).called(#likes).withArgs(
        positional: ['fish'],
        named: {#isHungry: false},
      ).once();
    });
  });
}
1091
likes
0
pub points
98%
popularity

Publisher

verified publisherfelangel.dev

A Dart mocking library which simplifies mocking with null safety support and no manual mocks or code generation.

Homepage
Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

matcher

More

Packages that depend on mocktail