Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Testy jednostkowe Laravel - czy robię to dobrze?
Rysh
post 7.09.2016, 09:37:19
Post #1





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

Ostrzeżenie: (0%)
-----


Ze znajomymi zaczęliśmy pisać aplikację w Laravelu, wszystko postawione na git, podzieliliśmy się zadaniami.
Mi przypadło doinstalować composerem role laravel ( https://github.com/Zizaco/entrust ) - przed wrzuceniem na gita muszę to przetestować, tylko w jaki sposób.
Poczytałem o testach jednostkowych - tylko nie wiem czy za ich pomocą powinienem to przetestować? Liczę na pomoc bardziej doświadczonych w takich sprawach.
I jeśli testy jednostkowe to dobry pomysł, czy dobrze je stosuję?
  1. <?php
  2.  
  3. use Illuminate\Foundation\Testing\WithoutMiddleware;
  4. use Illuminate\Foundation\Testing\DatabaseMigrations;
  5. use Illuminate\Foundation\Testing\DatabaseTransactions;
  6.  
  7. class RoleTest extends TestCase
  8. {
  9. /**
  10.   * TODO: Unit Test Role
  11.   *
  12.   * 1. tworzenie użytkownika (true)
  13.   * 2. tworzenie roli (true)
  14.   * 3. przypisanie roli dla użytkownika (true)
  15.   * 4. sprawdzenie uprawnień użytkownika (false)
  16.   * 5. dodanie uprawnień do roli (true)
  17.   * 6. sprawdzenie uprawnień użytkownika (true)
  18.   * 7. zabranie roli dla użytkownika (true)
  19.   * 8. sprawdzenie uprawnień użytkownika (false)
  20.   * 9. usunięcie uprawnienia z roli (true)
  21.   * 10. usunięcie roli (true)
  22.   * 11. usunięcie użytkownika (true)
  23.   *
  24.   * na koniec przywrócić indeksy do możliwie najniższych wartości.
  25.   *
  26.   */
  27.  
  28. /**
  29.   * Create Role
  30.   *
  31.   * @return void
  32.   */
  33. public function testCreateRole() {
  34. $role = new Zizaco\Entrust\EntrustRole();
  35. $role->name = 'TestRole';
  36. $this->assertTrue((bool)$role->save());
  37. }
  38.  
  39. /**
  40.   * Create Premission
  41.   *
  42.   * @return void
  43.   */
  44. public function testCreatePremission() {
  45. $premission = new Zizaco\Entrust\EntrustPermission();
  46. $premission->name = 'TestPremission';
  47. $this->assertTrue((bool)$premission->save());
  48. }
  49.  
  50. // TO DO: Other Unit Test
  51.  
  52. /**
  53.   * Delete Premission
  54.   *
  55.   * @return void
  56.   */
  57. public function testDeletePremission() {
  58. $premission = Zizaco\Entrust\EntrustPermission::where('name', '=', 'TestPremission');
  59. $this->assertTrue((bool)$premission->delete());
  60. }
  61.  
  62. /**
  63.   * Delete Role
  64.   *
  65.   * @return void
  66.   */
  67. public function testDeleteRole() {
  68. $role = Zizaco\Entrust\EntrustRole::where('name', '=', 'TestRole');
  69. $this->assertTrue((bool)$role->delete());
  70. }
  71.  
  72. }


Ten post edytował Rysh 7.09.2016, 15:19:24


--------------------
Go to the top of the page
+Quote Post
matiit
post 14.11.2016, 19:10:39
Post #2





Grupa: Zarejestrowani
Postów: 365
Pomógł: 70
Dołączył: 5.04.2009

Ostrzeżenie: (0%)
-----


Ale ty testujesz coś co już ma własne testy.

https://github.com/Zizaco/entrust/tree/master/tests
Go to the top of the page
+Quote Post
SmokAnalog
post 22.11.2016, 01:29:11
Post #3





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Testów jednostkowych nie wykonuje się po to, żeby sprawdzać działanie zewnętrznych bibliotek, a już zwłaszcza tych, które mają własne testy. Co chcesz osiągnąć takim testem? Kiedy niby on ma się nie udać?
Go to the top of the page
+Quote Post
daro0
post 22.11.2016, 07:53:43
Post #4





Grupa: Zarejestrowani
Postów: 88
Pomógł: 12
Dołączył: 17.09.2014
Skąd: Krasnystaw

Ostrzeżenie: (0%)
-----


Są tylko po to, żeby nie trzeba było się przeklikiwać po każdej zmianie żeby sprawdzić czy wszystko prawidłowo działa. Automatyczny test wykona wszystko szybko a Wam takie ręczne sprawdzanie zajmie ileś czasu. Tym bardziej że robicie w zespole.
Go to the top of the page
+Quote Post
lukaskolista
post 22.11.2016, 08:09:23
Post #5





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

Ostrzeżenie: (0%)
-----


Testami jednostkowymi testujesz swój kod, a działanie swojego kodu w połączeniu z zewnętrzną biblioteką możesz przetestować integracyjnie (testy integracyjne).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.03.2024 - 12:00