Filesystem

Installation

If you use Codeception installed using composer, install this module with the following command:

composer require --dev codeception/module-filesystem

Alternatively, you can enable Filesystem module in suite configuration file and run

codecept init upgrade4

This module was bundled with Codeception 2 and 3, but since version 4 it is necessary to install it separately.
Some modules are bundled with PHAR files.
Warning. Using PHAR file and composer in the same project can cause unexpected errors.

Description

Module for testing local filesystem. Fork it to extend the module for FTP, Amazon S3, others.

Status

Module was developed to test Codeception itself.

Actions

amInPath

Enters a directory In local filesystem. Project root directory is used by default

  • param string $path

cleanDir

Erases directory contents

<?php
$I->cleanDir('logs');
?>
  • param string $dirname

copyDir

Copies directory with all contents

<?php
$I->copyDir('vendor','old_vendor');
?>
  • param string $src
  • param string $dst

deleteDir

Deletes directory with all subdirectories

<?php
$I->deleteDir('vendor');
?>
  • param string $dirname

deleteFile

Deletes a file

<?php
$I->deleteFile('composer.lock');
?>
  • param string $filename

deleteThisFile

Deletes a file

dontSeeFileFound

Checks if file does not exist in path

  • param string $filename
  • param string $path

dontSeeInThisFile

Checks If opened file doesn’t contain text in it

<?php
$I->openFile('composer.json');
$I->dontSeeInThisFile('codeception/codeception');
?>
  • param string $text

openFile

Opens a file and stores it’s content.

Usage:

<?php
$I->openFile('composer.json');
$I->seeInThisFile('codeception/codeception');
?>
  • param string $filename

seeFileContentsEqual

Checks the strict matching of file contents. Unlike seeInThisFile will fail if file has something more than expected lines. Better to use with HEREDOC strings. Matching is done after removing “\r” chars from file content.

<?php
$I->openFile('process.pid');
$I->seeFileContentsEqual('3192');
?>
  • param string $text

seeFileFound

Checks if file exists in path. Opens a file when it’s exists

<?php
$I->seeFileFound('UserModel.php','app/models');
?>
  • param string $filename
  • param string $path

seeInThisFile

Checks If opened file has text in it.

Usage:

<?php
$I->openFile('composer.json');
$I->seeInThisFile('codeception/codeception');
?>
  • param string $text

seeNumberNewLines

Checks If opened file has the number of new lines.

Usage:

<?php
$I->openFile('composer.json');
$I->seeNumberNewLines(5);
?>
  • param int $number New lines

seeThisFileMatches

Checks that contents of currently opened file matches $regex

  • param string $regex

writeToFile

Saves contents to file

  • param string $filename
  • param string $contents

© 2011 Michael Bodnarchuk and contributors
Licensed under the MIT License.
https://codeception.com/docs/modules/Filesystem