hrodic/php-integration-testing

View on GitHub

Showing 45 of 45 total issues

Missing class import via use statement (line '60', column '25').
Open

        $elements = new \ArrayIterator();

MissingImport

Since: 2.7.0

Importing all external classes in a file through use statements makes them clearly visible.

Example

function make() {
    return new \stdClass();
}

Source http://phpmd.org/rules/cleancode.html#MissingImport

The method create has a boolean flag argument $keepAlive, which is a certain sign of a Single Responsibility Principle violation.
Open

        bool $keepAlive = false,
Severity: Minor
Found in src/Driver/AMQPConnection.php by phpmd

BooleanArgumentFlag

Since: 1.4.0

A boolean flag argument is a reliable indicator for a violation of the Single Responsibility Principle (SRP). You can fix this problem by extracting the logic in the boolean flag into its own class or method.

Example

class Foo {
    public function bar($flag = true) {
    }
}

Source https://phpmd.org/rules/cleancode.html#booleanargumentflag

Avoid assigning values to variables in if clauses and the like (line '37', column '13').
Open

    public function __construct(array $params)
    {
        if ($invalidConfigParams = array_diff_key($params, self::$defaultParams)) {
            throw new TestingException(
                'The following elements are not valid AMQP configuration params: ' . json_encode($invalidConfigParams)

IfStatementAssignment

Since: 2.7.0

Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

Example

class Foo
{
    public function bar($flag)
    {
        if ($foo = 'bar') { // possible typo
            // ...
        }
        if ($baz = 0) { // always false
            // ...
        }
    }
}

Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

Avoid unused parameters such as '$test'.
Open

    public function executeBeforeTest(string $test): void

UnusedFormalParameter

Since: 0.2

Avoid passing parameters to methods or constructors and then not using those parameters.

Example

class Foo
{
    private function bar($howdy)
    {
        // $howdy is not used
    }
}

Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

Avoid assigning values to variables in if clauses and the like (line '50', column '17').
Open

    public function __construct(array $params)
    {
        if (empty($params)) {
            throw new TestingException('Configuration parameters are empty');
        }

IfStatementAssignment

Since: 2.7.0

Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

Example

class Foo
{
    public function bar($flag)
    {
        if ($foo = 'bar') { // possible typo
            // ...
        }
        if ($baz = 0) { // always false
            // ...
        }
    }
}

Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

Avoid assigning values to variables in if clauses and the like (line '58', column '17').
Open

    public function __construct(array $params)
    {
        if (empty($params)) {
            throw new TestingException('Configuration parameters are empty');
        }

IfStatementAssignment

Since: 2.7.0

Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

Example

class Foo
{
    public function bar($flag)
    {
        if ($foo = 'bar') { // possible typo
            // ...
        }
        if ($baz = 0) { // always false
            // ...
        }
    }
}

Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

Avoid assigning values to variables in if clauses and the like (line '50', column '21').
Open

    public function __construct(array $params)
    {
        if ($invalidConfigParams = array_diff_key($params, self::$defaultParams)) {
            throw new TestingException(
                'The following elements are not valid PDO configuration params: ' . json_encode($invalidConfigParams)

IfStatementAssignment

Since: 2.7.0

Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

Example

class Foo
{
    public function bar($flag)
    {
        if ($foo = 'bar') { // possible typo
            // ...
        }
        if ($baz = 0) { // always false
            // ...
        }
    }
}

Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

Avoid unused parameters such as '$time'.
Open

    public function executeAfterTest(string $test, float $time): void

UnusedFormalParameter

Since: 0.2

Avoid passing parameters to methods or constructors and then not using those parameters.

Example

class Foo
{
    private function bar($howdy)
    {
        // $howdy is not used
    }
}

Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

The method create has 12 parameters. Consider reducing the number of parameters to less than 10.
Open

    public static function create(
        string $host,
        int $port,
        string $user,
        string $password,
Severity: Minor
Found in src/Driver/AMQPConnection.php by phpmd

Avoid unused parameters such as '$test'.
Open

    public function executeAfterTest(string $test, float $time): void

UnusedFormalParameter

Since: 0.2

Avoid passing parameters to methods or constructors and then not using those parameters.

Example

class Foo
{
    private function bar($howdy)
    {
        // $howdy is not used
    }
}

Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

Avoid unused local variables such as '$value'.
Open

        foreach ($this->params as $key => $value) {

UnusedLocalVariable

Since: 0.2

Detects when a local variable is declared and/or assigned, but not used.

Example

class Foo {
    public function doSomething()
    {
        $i = 5; // Unused
    }
}

Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

Avoid unused parameters such as '$time'.
Open

    public function executeAfterTest(string $test, float $time): void

UnusedFormalParameter

Since: 0.2

Avoid passing parameters to methods or constructors and then not using those parameters.

Example

class Foo
{
    private function bar($howdy)
    {
        // $howdy is not used
    }
}

Source https://phpmd.org/rules/unusedcode.html#unusedformalparameter

Avoid unused local variables such as '$value'.
Open

        foreach ($this->params as $key => $value) {

UnusedLocalVariable

Since: 0.2

Detects when a local variable is declared and/or assigned, but not used.

Example

class Foo {
    public function doSomething()
    {
        $i = 5; // Unused
    }
}

Source https://phpmd.org/rules/unusedcode.html#unusedlocalvariable

Avoid assigning values to variables in if clauses and the like (line '42', column '13').
Open

    public function __construct(array $params)
    {
        if ($invalidConfigParams = array_diff_key($params, self::$defaultParams)) {
            throw new TestingException(
                'The following elements are not valid PDO configuration params: ' . json_encode($invalidConfigParams)

IfStatementAssignment

Since: 2.7.0

Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

Example

class Foo
{
    public function bar($flag)
    {
        if ($foo = 'bar') { // possible typo
            // ...
        }
        if ($baz = 0) { // always false
            // ...
        }
    }
}

Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

Avoid assigning values to variables in if clauses and the like (line '45', column '21').
Open

    public function __construct(array $params)
    {
        if ($invalidConfigParams = array_diff_key($params, self::$defaultParams)) {
            throw new TestingException(
                'The following elements are not valid AMQP configuration params: ' . json_encode($invalidConfigParams)

IfStatementAssignment

Since: 2.7.0

Assignments in if clauses and the like are considered a code smell. Assignments in PHP return the right operand as their result. In many cases, this is an expected behavior, but can lead to many difficult to spot bugs, especially when the right operand could result in zero, null or an empty string and the like.

Example

class Foo
{
    public function bar($flag)
    {
        if ($foo = 'bar') { // possible typo
            // ...
        }
        if ($baz = 0) { // always false
            // ...
        }
    }
}

Source http://phpmd.org/rules/cleancode.html#ifstatementassignment

Avoid using static access to class '\IntegrationTesting\Driver\AMQPConnection' in method 'initAMQPFixtureLoader'.
Open

            $amqpConnection = AMQPConnection::create(
                $configuration->getAMQPHost(),
                $configuration->getAMQPPort(),
                $configuration->getAMQPUser(),
                $configuration->getAMQPPassword(),

StaticAccess

Since: 1.4.0

Static access causes unexchangeable dependencies to other classes and leads to hard to test code. Avoid using static access at all costs and instead inject dependencies through the constructor. The only case when static access is acceptable is when used for factory methods.

Example

class Foo
{
    public function bar()
    {
        Bar::baz();
    }
}

Source https://phpmd.org/rules/cleancode.html#staticaccess

Avoid using IntegrationTesting\Driver\RabbitMQ\count() function in while loops.
Open

        while (count($channel->callbacks)) {
            $channel->wait(null, false, $timeout);
        }

CountInLoopExpression

Since: 2.7.0

Using count/sizeof in loops expressions is considered bad practice and is a potential source of many bugs, especially when the loop manipulates an array, as count happens on each iteration.

Example

class Foo {

  public function bar()
  {
    $array = array();

    for ($i = 0; count($array); $i++) {
      // ...
    }
  }
}

Source https://phpmd.org/rules/design.html#countinloopexpression

Line exceeds 120 characters; contains 121 characters
Open

                    'The following elements are not valid PDO configuration params: ' . json_encode($invalidConfigParams)

Line exceeds 120 characters; contains 126 characters
Open

                        'The following elements are not valid AMQP configuration params: ' . json_encode($invalidConfigParams)

Line exceeds 120 characters; contains 133 characters
Open

    public function publishMessage(AMQPChannel $channel, string $body, array $properties, string $exchange, string $routingKey): void
Severity
Category
Status
Source
Language