Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Create throw away composer projects for Codeception tests

License

NotificationsYou must be signed in to change notification settings

typisttech/codeception-composer-project-module

Repository files navigation

Packagist VersionPackagist DownloadsPHP from PackagistCircleCIlicenseTwitter Follow @TangRufusHire Typist Tech

Create throw away composer projects for Codeception tests.

Built with ♥ byTypist Tech


Codeception Composer Project Module is an open source project and completely free to use.

However, the amount of effort needed to maintain and develop new features is not sustainable without proper financial backing. If you have the capability, please consider donating using the links below:

GitHub via SponsorSponsor via PayPalMore Sponsorship Information


Create throw away composer projects for Codeception tests.

Why?

Because it's good to test your composer plugins in a more realistic environment.

The Goals, or What This Module Does?

Create throw away composer projects for Codeception tests.

Before each test:

  • Copy dummy composer project files to a temporary directory
  • Config local packages paths
  • Install package via composer
  • Change directory into the temporary directory

After each test:

  • Delete the temporary directory

Install

composer require --dev typisttech/codeception-composer-project-module

Config

In your Codeception config file (e.g:acceptance.suite.yml oracceptance.yml):

This is the minimal config:

modules:enabled:        -ComposerProject:projectRoot:'path/to/composer/project'depends:                -Cli                -Filesystem

This is the full config:

modules:enabled:        -ComposerProject:projectRoot:'path/to/composer/project'composerInstallFlags:'--no-interaction --quiet'symlink:'true'repositoryPaths:                -'tests/_data/dummy'                -'tests/_data/another-dummy'depends:                -Cli                -Filesystem

projectRoot

Required String

Example:tests/_data/project

Path to the composer project directory, relative to the root directory (wherecodeception.yml is located).This directory must contain acomposer.json file.

composerInstallFlags

Optional String

Example:--no-interaction --verbose --no-ansi

Default:--no-interaction --quiet

Extra flags to pass in duringcomposer install.

See:$ composer help install

symlink

Optional Boolean insingle quotes

Example:'false'

Default:'true'

Should the local packages be symlink-ed or not.

See:Composer document

repositoryPaths

Optional Array of strings

Example:

-'tests/_data/dummy'-'tests/_data/another-dummy'

Default: The root directory (wherecodeception.yml is located).

Paths to local packages, relative to the root directory (wherecodeception.yml is located).

See:Composer document


Typist Tech is ready to build your next awesome WordPress site.Hire us!


API

amInTmpProjectDir

Change directory to the temporary project directory

  • @return void

Example:

$I->amInTmpProjectDir();

runComposerCommand

Run a composer command

  • @param string $command
  • @param bool $failNonZero Optional. Default: trueFails If exit code is > 0.
  • @return void

Example:

// This is equivalent to running `$ composer update --verbose` in the console.$I->runComposerCommand('update --verbose');

runComposerInstall

Runcomposer install withcomposerInstallFlags

  • @return void

Example:

$I->runComposerInstall();

getTmpProjectDir()

Get the path to the temporary project directory

Note: Return value maybe a symbolic link.

  • @return string

Example:

$I->getTmpProjectDir();// To ensure real path:$tmpProjectDir =$I->getTmpProjectDir();$tmpProjectDir =realpath($tmpProjectDir);

Frequently Asked Questions

Which composer versions are supported?

Both v1 and v2.

I want to see what Codeception Composer Project Module have done for me?

Run the tests with the--debug flag.

Codeception Composer Project Module will log debug message to the console.

What to do whencomposer install fail or not install the latest version?

Your requirements could not be resolved to an installable set of packages.

Make sure you have packageversion constraints andminimum stability set up correctly.

{"require": {"dummy/dummy":"*"    },"minimum-stability":"dev"}

What to do when the tests are too slow?

Note: These methods are not suitable for every use case.

Do you have real life examples that use this composer plugin?

Here you go:

Add your ownhere

Will you add support for older PHP versions?

Never! This plugin will only work onactively supported PHP versions.

Don't use it onend of life orsecurity fixes only PHP versions.

It looks awesome. Where can I find some more goodies like this

Where can I give 5-star reviews?

Thanks! Glad you like it. It's important to let me knows somebody is using this project. Please consider:

Testing

composertestcomposer style:check

Feedback

Please provide feedback! We want to make this project as useful as possible.Pleasesubmit an issue and point out what you do and don't like, or fork the project andsend pull requests.No issue is too small.

Security Vulnerabilities

If you discover a security vulnerability within this project, please email us atcodeception-composer-project-module@typist.tech.All security vulnerabilities will be promptly addressed.

Credits

Codeception Composer Project Module is aTypist Tech project and maintained byTang Rufus, freelance developer forhire.

Full list of contributors can be foundhere.

License

Codeception Composer Project Module is released under theMIT License.

Sponsor this project

  •  

Packages

No packages published

Contributors2

  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp