Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida criação teste Email

Classe E-mail:

<?php

namespace Limpa\Arquitetura;

class Email
{
    private string $endereco;

    public function __construct(string $endereco)
    {
        if (filter_var($endereco, FILTER_SANITIZE_EMAIL) === false) {
            throw new \InvalidArgumentException("Endereço de e-mail inválido!");
        }
        $this->endereco = $endereco;
    }

    public function __toString(): string
    {
        return $this->endereco;
    }
}

Classe EmailTest:

<?php

use Limpa\Arquitetura\Email;
use PHPUnit\Framework\TestCase;

class EmailTest extends TestCase
{
    public function testEmailFormatoInvalidoLancaErro()
    {
        $this->expectException(\InvalidArgumentException::class);
        new Email("um errado");
    }

    public function testEmailFormatoValidoComoString()
    {
        $email = new Email("exemplo@exemplo.com");
        $this->assertSame("exemplo@exemplo.com", (string) $email);
    }
}

Estou obtendo esse erro no primeiro teste:

Failed asserting that exception of type "InvalidArgumentException" is thrown.

O segundo teste está sendo executado corretamente, não entendi o que pode estar acontecendo.

O estranho é que é feito um teste semelhante para o CPF e o mesmo passa tranquilamente!

1 resposta
solução!

Já resolvi, estava utilizando FILTER_SANITIZE_EMAIL sendo correto FILTER_VALIDATE_EMAIL