Olá Lucas!
Quando tratamos de comparações entre numeros de ponto flutuante (como o double e float) temos uma situação mais delicada pois a propria representação binaria destes tipos é um pouco diferente da representação de numeros inteiros.
Portanto, para tratar de numeros de ponto flutuante, usamos uma sobrecarga da função assertEquals especifica, onde recebemos como parametro uma menssagem de erro caso nosso delta seja menor que a diferença entre os valores do assert. No caso, a syntax fica desse jeito:
assertEquals(float $valor_esperado, float $valor_real, string $message = 'menssagem de erro', float $delta = 0.1);
No seu exemplo, a diferença entre o valor esperado e o valor real é de 0.000666666667. Portanto, precisamos escolher um delta que seja maior ou igual a este valor. Podemos, por exemplo, usar o valor 0.001.
Então uma boa forma de escrever nosso assertEquals para a comparação dos valores $mediaEsperada e $leiloeiro->getMedia() seria algo como:
$mediaEsperada = 316.666;
$leilao->propoe(new Lance($jonas, 250));
$leilao->propoe(new Lance($joao, 300));
$leilao->propoe(new Lance($jorge, 400));
$this->assertEquals($mediaEsperada, $leiloeiro->getMedia(),"O delta é menor que 0.000666666667", 0.001);
Este caso é um pouco mais especifico mesmo! Você pode verificar todas as formas de assert
na documentação do PHPUnit.