mockable_filesystem 0.0.3

  • Installing
  • Versions
  • 22


Provides a FileSystem factory class for allocating File, Directory and Link objects, with two implementations - one which in turn returns the real objects from dart:io, and one which returns mock versions. This allows tests to be written that make use of files and directories without having to create them on disk. The mock File/Directory/Link classes are not complete, but have sufficient functionality to work in most cases. The ultimate aim is to have complete mock implementations, as well as the ability to mock Windows file systems on Linux/Mac and vice-versa, to help with testing code for cross-platform correctness.


  1. Depend on it

    Add this to your package's pubspec.yaml file:

      mockable_filesystem: any

    If your package is an application package you should use any as the version constraint.

  2. Install it

    If you're using the Dart Editor, choose:

    Menu > Tools > Pub Install

    Or if you want to install from the command line, run:

    $ pub install
  3. Import it

    Now in your Dart code, you can use:

    import 'package:mockable_filesystem/filesystem.dart';


    import 'package:mockable_filesystem/mock_filesystem.dart';


  • Use FileSystemException in all appropriate places to follow the change to dart:io

1. Depend on it

Add this to your package's pubspec.yaml file:

  mockable_filesystem: "^0.0.3"

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:mockable_filesystem/filesystem.dart';

import 'package:mockable_filesystem/mock_filesystem.dart';
Version Uploaded Documentation Archive
0.0.3 Sep 23, 2014 Go to the documentation of mockable_filesystem 0.0.3 Download mockable_filesystem 0.0.3 archive
0.0.1 Jul 24, 2013 Go to the documentation of mockable_filesystem 0.0.1 Download mockable_filesystem 0.0.1 archive


This feature is new.
We welcome feedback.
More details: scoring.

We analyzed this package, and provided a score, details, and suggestions below.

  • tool failures on Feb 16, 2018
  • Dart: 2.0.0-dev.20.0
  • pana: 0.10.1


Describes how popular the package is relative to other packages. [more]
36 / 100
Code health derived from static analysis. [more]
13 / 100
Reflects how tidy and up-to-date the package is. [more]
0 / 100
Overall score:
Weighted score of the above. [more]


Detected platforms: unsure

Error(s) prevent platform classification.


  • Fix lib/filesystem.dart.

    Strong-mode analysis of lib/filesystem.dart failed with the following error:

    line: 42 col: 15
    The method 'createRecursivelySync' isn't defined for the class 'Directory'.

  • Fix lib/mock_filesystem.dart.

    Strong-mode analysis of lib/mock_filesystem.dart failed with the following error:

    line: 53 col: 50
    Static method 'type' can't be accessed through an instance.

  • Fix platform conflicts.

    Make sure none of the libraries use mutually exclusive dependendencies.

  • Fix issues reported by dartanalyzer.

    dartanalyzer reported 2 error(s) and 0 warning(s).

  • Use constrained dependencies.

    The pubspec.yaml contains 2 dependencies without version constraints. Specify version ranges for the following dependencies: logging, path.

  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • The description is too long.

    Search engines will display only the first part of the description. Try to keep it under 180 characters.

  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use mockable_filesystem.dart.


Package Constraint Resolved Available
Direct dependencies
logging >=0.6.5 0.11.3+1
path >=0.6.5 1.5.1
Dev dependencies
unittest >=0.6.5