• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z testami w symfony 4

VPS Starter Arubacloud
0 głosów
503 wizyt
pytanie zadane 29 sierpnia 2018 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)

Witam

Obecnie uczę się testów jednostkowych lecz już na początku trafiłem na problem którego nie mogę rozwiązać, mój kontroler wygląda tak (jak na razie zwraca tylko 200 dla testów)

namespace App\Controller;

use FOS\RestBundle\Controller\Annotations as Rest;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;

class RecipeController extends Controller
{
    /**
     * @Rest\GET("/recipe")
     */
    public function get()
    {
        return 200;
    }
}

a RecipeContollerTest wygląda tak:

namespace App\Tests\Controller;

use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;

class RecipeControllerTest extends WebTestCase
{
    public function testGet()
    {
        $client = static::createClient();
        $client->request('GET', '/recipe');

        $this->assertEquals(200, $client->getResponse()->getStatusCode());
    }
}

i gdy odpalam test wyskakuje:

Fatal error: Class 'Symfony\Bundle\FrameworkBundle\Test\WebTestCase' not found

testy odpalam za pomocą Run w PhpStorm, co może byc nie tak?

1 odpowiedź

0 głosów
odpowiedź 29 sierpnia 2018 przez Arkadiusz Waluk Ekspert (287,550 p.)
Masz zainstalowane paczki symfony/phpunit-bridge i symfony/browser-kit?
1
komentarz 29 sierpnia 2018 przez CenterPL Pasjonat (19,070 p.)
To co napisałeś to nie jest test jednostkowy praktycznie - moim zdaniem w ogóle kontrolerów unit testami nie powinno się tykać, bo tam nie powinno być żadnej logiki, którą to właśnie powinny testować unity.

A jak chcesz testować co tam kontroler wypluwa, to właśnie robisz testy integracyjne/funkcjonalne.

Od czego zacząć? Ano imo od podstaw czyli testów jednostkowych.
komentarz 29 sierpnia 2018 przez `Krzychuu Stary wyjadacz (13,940 p.)
ok teraz rozumiem, właśnie u mnie najgorsze jest oddzielenie logiki, szukałem trochę na necie i jedynie co znalazłem to serwisy, ale nie widziałem żeby ktoś tam umieszczał np wyciagnie danych z bazy itp :/
komentarz 29 sierpnia 2018 przez CenterPL Pasjonat (19,070 p.)
Wystarczy, że za pomocą DI wstrzykniesz repozytorium i już możesz encje pobrać. Da się wszystko, tylko trzeba starać się myśleć framework agnostic - tworzyć tak, żeby aplikacja była możliwie niezależna od frameworka
komentarz 29 sierpnia 2018 przez `Krzychuu Stary wyjadacz (13,940 p.)
czyli za pomocą DI mam wstrzykiwać do serwisów doctrine?
komentarz 29 sierpnia 2018 przez `Krzychuu Stary wyjadacz (13,940 p.)
O dependency injection w symfony też czytałem ale kompletnie nie wiem jak tego dobrze użyć, szukałem jakiś przykładów na github ale nic nie znalazłem :(

Podobne pytania

0 głosów
1 odpowiedź 508 wizyt
pytanie zadane 31 października 2018 w PHP przez Krzysio4224 Obywatel (1,690 p.)
0 głosów
1 odpowiedź 131 wizyt
pytanie zadane 19 sierpnia 2018 w PHP przez tomek123 Początkujący (300 p.)
0 głosów
1 odpowiedź 235 wizyt
pytanie zadane 16 lutego 2019 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)

92,417 zapytań

141,222 odpowiedzi

318,984 komentarzy

61,831 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...