Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

PDOException: SQLSTATE[HY000] [14] unable to open database file

Olá, pessoal! Tudo certo?

Surgiu esse erro aqui, alguém poderia me ajudar?? Erro PDOException: SQLSTATE[HY000] [14] unable to open database fileSegue o código `<?php

namespace Alura\Leilao\Tests\Integration\Dao;

use Alura\Leilao\Dao\Leilao as LeilaoDao; use Alura\Leilao\Infra\ConnectionCreator; use Alura\Leilao\Model\Leilao; use PHPUnit\Framework\TestCase;

class LeilaoDaoTest extends TestCase { /** @var \PDO */ private static $pdo; public static function setUpBeforeClass(): void { self::$pdo = new \PDO("sqlite::memory"); self::$pdo->exec('create table leiloes ( id INTEGER primary key, descricao TEXT, finalizado BOOL, dataInicio TEXT );'); }

protected function setUp(): void {
    self::$pdo->beginTransaction();
}

public function testInsercaoEBuscaDevemFuncionar() {

    // arrange (montando o cenário)
    $leilao = new Leilao('Variante 0Km');
    $leilaoDao = new LeilaoDao(self::$pdo);
    $leilaoDao->salva($leilao);

    // act (testar os dados)
    $leiloes = $leilaoDao->recuperarNaoFinalizados();

    // assert (verificação dos daods)
    self::assertCount(1, $leiloes);
    self::assertContainsOnlyInstancesOf(Leilao::class, $leiloes);
    self::assertSame(
        'Variante 0Km',
        $leiloes[0]->recuperarDescricao()
    );
}

// tear down (deletar os dados anteriores)
protected function tearDown(): void {
    self::$pdo->rollBack();
}

} `

2 respostas
solução!

Oii, Eduardo. Parece que faltou um : ao final da expressão do construtor:

new PDO('sqlite::memory:');

Opa! Era isso mesmo! Muito obrigado!