Create your custom PHPUnit Constraint

Code
<?php

use PHPUnit\Framework\TestCase;
use PHPUnit\Framework\Constraint\Constraint;

/**
 * Constraint, that checks if a class has one or more interfaces
 */
class HasInterface extends Constraint
{
    protected function matches($other) : bool
    {
        if (!class_exists($other)) {
            return false;
        }
        
        return count(class_implements($other)) !== 0;
    }

    public function toString() : string
    {
        return 'has one or more interfaces';
    }
}

class ConstraintTest extends TestCase
{
    /**
     * fails, because 6 is no class
     */
    public function testIsNoClass() : void
    {
        $this->assertThat(6, new HasInterface());
    }
    
    /**
     * fails, because SoapClient has no interface
     */
    public function testHasNoInterface() : void
    {
        $this->assertThat('SoapClient', new HasInterface());
    }
    
    /**
     * works, because ArrayIterator has one or more interfaces
     */
    public function testHasInterface() : void
    {
        $this->assertThat('ArrayIterator', new HasInterface());
    }
}
Result
Time: 00:00.004, Memory: 18.00 MB

There were 2 failures:

1) ConstraintTest::testIsNoClass
Failed asserting that 6 has one or more interfaces.

ConstraintTest.php:33

2) ConstraintTest::testHasNoInterface
Failed asserting that 'SoapClient' has one or more interfaces.

ConstraintTest.php:41

FAILURES!
Tests: 3, Assertions: 0, Failures: 2.
Used Versions
PHP 8.3, Laminas MVC 3.2, Symfony 5.2, Laravel 8.28, PHPUnit 9.5, Doctrine ORM 2.8