Giriş yapmadınız.

#1 10.06.2019 17:52:49

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 157

Unit Test Nasıl Yapılır

Selamlar,

Laravel ile unit test nasıl yapılır ? Basit uygulamalar için kod örnekleri paylaşabilir misiniz ? Biraz yapısını da anlatırsanız çok sevinirim. Küçük projeler için gerek yok diyebilirsiniz ama öğrenmek istiyorum o yüzden sormak istedim.

Çevrimdışı

#2 11.06.2019 00:40:39

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,665
Website

Yanıt: Unit Test Nasıl Yapılır

Ben bir şeyler yazmaya başladım sizin için. Daha sonra baktım ki sizin istediğinizden ziyade yazdıklarım yazılım nasıl geliştirilir gibi bir şeylere dönüştü, içinden çıkamadım. O kadar çok yazılacak şey vardı ki, vazgeçtim.

Bana göre önce TDD (Test Driven Development) nedir, BDD (Behavior Driven Development) nedir konularını araştırmalısınız. Türkçe kaynak bu konularda mevcut. Bunları araştırmaya başladığınızda unit test nasıl yapılır, feature test nedir, browser test nedir, automated test nedir... gibi sorulara otomatik olarak cevap alıyorsunuz ve yüzlerce satır kod örneği okumuş oluyorsunuz. Bu sırada test araçlarını, nasıl kullanıldıklarını öğreniyorsunuz. Diğer programlama dillerinde bu işin nasıl yapıldığını öğreniyorsunuz. Yavaş yavaş vizyonunuz değişmeye başlıyor ve daha fazla öğrenme isteği uyanıyor.

Ben bir şeyleri öğreneceğim zaman bu şekilde öğreniyorum.

Öteki türlü kestirip atmamı isterseniz Laravel dokümanlarından birkaç kopyala/yapıştır yapıp "böyle" deyip bir sonraki konuya geçeceğim.

Çevrimdışı

#3 11.06.2019 08:32:41

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 157

Yanıt: Unit Test Nasıl Yapılır

@mgsmus tavsiye ettigin konular icin tesekkur ederim hocam incelemeye basliyorum umarim ogrenebilirim.

Çevrimdışı

#4 11.06.2019 12:40:04

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 462

Yanıt: Unit Test Nasıl Yapılır

Test yazmak nedir?
Cevap; Kodun davranışını her an izleyebilmektir.

Büyük projelerde test yazmak kaçınılmaz bir gerçektir.Çünkü kod büyüdükçe kontrol edilebilmesi zayıflar ve bunu insan yerine makineye bırakmak zorunda kalırsın.işte makine senin yerine yazdığın tüm olasılıkları her an tespit eder ve sana hata varsa söyler.Travis etc.. gibi hizmetler yazdığın kodu belirlediğin her zaman diliminde yada her 5 dakikada bir senin yerine çalıştırırlar ve sana mail atarlar.

Test yazmak hayat kurtarır.

public function testIndex()
    {
        $this->assertTrue(true,request()->isFromTrustedProxy());
    }

böyle bir test yazdıgınızda.

vendor/bin/phpunit

ile çalıştırırsınız.ve size request methodu ile proxynin güvenilir olup olmadığını söyler sana.eğer güvenilir değilse hata basar.cunku condition olarak true bekliyor testimiz.

Bunun gibi 100 lerce 1000 lerce test..her olasılık her durum yazılmalı.
Evet test yazmak zordur ama yapabileceğiniz bir şey yok.Kurumlar bu zamanı developera mutlak ölçüde azami olarak verebilmeli.

Aksi durumda,bir geliştirme yaptığınızda kodunuzun hangi kısımları etkilenir diye kara kara düşünürsünüz.
Bir geliştirme yaptım ama her zaman doğru çalışır mı diye düşünürsünüz.

UnitTestler yazılmalı en basitinden.Yazmak zorundasın.Yazdıgın endpointe istek attır ve doğru değerler dönüyor mu diye testine bunları belirtmek zorundasın.

$content = $this->get('/users');

$this->assertSame(200,$content->status);

users endpointine istek atsın ve statusu 200 beklesin.Yaz bunu birde getle postla parametreler gönderttir farazi.
200 harici gelirse demek ki bir yerde bir sıkıntı var diye hata atsın sana...

sende gir belirtilen satıra kodunu refactor et.
-------

Neyse sürer gider,test yazmaya alışın.Test yazınca sevdiklerinize daha çok zaman ayırırsınız.


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#5 11.06.2019 16:52:38

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 157

Yanıt: Unit Test Nasıl Yapılır

@deathisonitsway web programlamada bazi seyler gercekten uzmanlik istiyor sanirim test yazmakta onlardan biri. Bakalim ogrenmeye calisiyorum yazilim derya deniz tesekkur ederim.

Ayrica hocam ve diger degerli ustatlar php ve laravel ile ilgili gercekten senior developer, uzman olmak icin tavsiyeniz nedir ? Bu sekilde test, queue gibi onemli seyleri ve standartlara uygun kod yazabilmek icin nereden egitim almaliyim ? Laracasti onerir misiniz ?

Ben makale ve blog yazilari okumaya calisiyorum yabanci dil de olsa ama genelde onlar tanitiyor ve fikir veriyor ben egitim almak ve ogrenmek istiyorum.

Udemy de turkce bi kac turkce kurs var ama inceledigim kadariyla temel duzeyde ogretiyorlar ? Tavsiye verirseniz cok sevinirim.

Laracast benim gibi baslangic ve orta duzey gelistiricileri bir ust duzeye yukseltir mi ?

Son düzenleyen neri (11.06.2019 17:57:08)

Çevrimdışı

#6 11.06.2019 22:43:53

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 462

Yanıt: Unit Test Nasıl Yapılır

uzman olmak kelimesi smile güldürdün beni.Öyle bir kelime yok @neri kardeşim.
Şu andan itibaren unut o kelimeyi.Kimse gelişen teknolojide ben uzman bir yazılımcıyım diyemez.
Lakaplarada karşıyım junior,senior neye göre kime göre.
İlla bir tanım istiyorsan senior - aradığını bulabilen ve sorunu daha çabuk çözebilen insandır.

Makale kısımlarına çok karısamam.Ben laraveli core'undan öğrendim sayılır.
Nasıl çalışıyor diye merak ettim icine girdim öyle öğrendim.Ha illa laravel de öğrenmek zorunda değilsiniz.Laravel php ile yazılmış bir framework.
Programlama dilinin konseptlerini öğrenin,object oriented tecrübenizi geliştirin.Yazılımış kodları inceleyin.Kendiniz harmanlama usulü bir şeyler yazın.


Birşeyi öğrenmek için en iyi yol onun dökümanlarını iyice okuyup uygulamaktır.
Yabancı dil bilmiyorum türkce kaynak olsa diye bir şey,baştan kaybettiğinizin belgesidir.
Olmaz yürümez.Ama şimdi artık öyle bir şey de kalmadı.Google translate baya geliştirdi kendini,eskiden çok kötü çeviriyordu.
Şimdi komple bir web sayfasını ingilizce bile gormeden direkt türkceye çevirip sana öyle gösteriyor.
Bahane olamaz yani.Araştırın öğrenin.Yaşınız nedir bilemem ama çok büyük devasa bir kaynak var önünüzde.Yapamayacağınız şey yok.

Patlayana kadar kod yazmak zorundasınız.
Başka türlü orta seviyenin üstüne çıkamazsınız.

İyi akşamlar.

Son düzenleyen deathisonitsway (11.06.2019 22:58:14)


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#7 11.06.2019 23:28:47

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 157

Yanıt: Unit Test Nasıl Yapılır

@deathisonitsway dili bahane etmiyorum haklisin abi  bazen teknik terimler zorlasa da tercume edilebilir. Peki laracasti onerir misin ? Sanirim cok meshur bi kurs.. Bize nasil katkilar saglar ? Biraz once inceledim tdd ile uygulama gelistiriyor. Sanirim udemy deki turkce kurslardan daha deneyimli ve derin bi kurs. Web programlama ile ilgili ufkumuzu gelistirmemize yardim eder mi ?

Son düzenleyen neri (11.06.2019 23:31:53)

Çevrimdışı

#8 12.06.2019 09:00:08

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 462

Yanıt: Unit Test Nasıl Yapılır

Udemyden hiç video satın almadım hiç,ihtiyaç duymadığımdandır.
O yüzden şu kişinin videolarına bak diyebileceğim bir bilgiye sahip değilim.
Bana göre en etkili çözüm okumaktır.Videonun öğreticiliğine tabiki bir şey demem.Ama sonuçta para vererek satın alabileceğiniz bir şeyse,ben orda ahkam kesemem.Araştırın en iyisi hangisiyse onu satın alın izleyin.Tabiki katkı sunacaktır size.


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#9 12.06.2019 14:41:44

alihankoc
Üye
Kayıtlı: 14.09.2017
Mesajlar: 57

Yanıt: Unit Test Nasıl Yapılır

Bu zamana kadar hiç bir udemy kursundan verim alamadım. Ne öğrendiysem öğrendiğim şeyin kendi dökümantasyonundan öğrendim. Ama bu öğrenme şekliyle alakalı birşey. Kimisi de dökümandan bişe anlamaz.

Laraveli anlamak için https://laravel.com/api/5.8/ bu api dökümantasyonunu okuyun. Normal dökümantasyonda göremeyeceğiniz yüzlerce şey var.
Konsepti anlamanın yolu burası. Öteki türlü ne işe yarıyor bakıyorsun kopyalayıp kullanıyorsun. Ezbere gidiyorsun. Metod ezberliyorsun. Ama bu linkten bakarak neyin nereden geldiğini daha iyi görebilirsin.

Çevrimdışı

#10 12.06.2019 21:31:49

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 157

Yanıt: Unit Test Nasıl Yapılır

@alihankoc tavsiyen icin tesekkur ederim hocam. Acikcasi api dokumanina bakinca anlayabilir miyim bilmiyorum kendimden o kadar emin degilim ama iyi bi yazilimci olmak bu yollardan geciyor sanirim.

Çevrimdışı

#11 13.06.2019 08:17:47

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 462

Yanıt: Unit Test Nasıl Yapılır

Alihanın dediği kısmı şu an anlayamazsın.Seviyeni ilerlettikten sonra anlarsın o kısmı.
Laravelin tüm sınıf ve methodlarının ne iş yaptığını anlatan kısmı ancak php object oriented bilginizin geliştiği durumda anlayabilirsiniz.


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#12 13.06.2019 09:35:55

neri
Üye
Kayıtlı: 24.07.2018
Mesajlar: 157

Yanıt: Unit Test Nasıl Yapılır

Hocam neyse basit web uygulamalari yapiyoruz ki zaten ben de motivasyonumu kaybettim oturup dokumantasyon okuyabilecegimi sanmiyorum ihtiyacim degilse.

Zaman ayirip cevap veren herkese tesekkurler.

Son düzenleyen neri (13.06.2019 09:36:26)

Çevrimdışı

Forum alt kısmı