A test case without assertions ensures only that no exceptions are thrown. Beyond basic runnability, it ensures nothing about the behavior of the code under test.

This rule raised an issue when no assertions are found within a PHPUnit test method.

Noncompliant Code Example

public function testDoSomething() {  // Compliant
  $myClass = new MyClass();
  $myClass->getSomething();
}

Compliant Solution

public function testDoSomething() {  // Noncompliant
  $myClass = new MyClass();
  $this->assertEquals("foo", $myClass->getSomething());
}