24 lines
1.0 KiB
PHP
24 lines
1.0 KiB
PHP
<?php
|
|
namespace Codeception\Exception;
|
|
|
|
class ModuleConflictException extends \Exception
|
|
{
|
|
public function __construct($module, $conflicted, $additional = '')
|
|
{
|
|
if (is_object($module)) {
|
|
$module = get_class($module);
|
|
}
|
|
if (is_object($conflicted)) {
|
|
$conflicted = get_class($conflicted);
|
|
}
|
|
$module = ltrim(str_replace('Codeception\Module\\', '', $module), '\\');
|
|
$conflicted = ltrim(str_replace('Codeception\Module\\', '', $conflicted), '\\');
|
|
$this->message = "$module module conflicts with $conflicted\n\n--\n"
|
|
. "This usually happens when you enable two modules with the same actions but with different backends.\n"
|
|
. "For instance, you can't run PhpBrowser, WebDriver, Laravel5 modules in one suite,\n"
|
|
. "as they implement similar methods but use different drivers to execute them.\n"
|
|
. "You can load a part of module (like: ORM) to avoid conflict.\n"
|
|
. $additional;
|
|
}
|
|
}
|