Manual:Test edilebilir PHP kodu yazma

This page is a translated version of the page Manual:Writing testable PHP code and the translation is 100% complete.

Bir noktada test edilecek test, kod, üzerine bazı notlar genişletilecek.

Küresel bağlam varsaymayın

Genel değişkenlere (ör. $wgRequest) önce global anahtar kelimesi ile bildirmeden erişmek, küresel olmayan bir bağlamda erişilirse hataların ve E_NOTICE iletilerinin oluşturulmasına neden olur.

Yeni küresel değişkenleri oluşturmayın

Küresel değişkenlere bilgi koymak kolay görünse de, kodu daha az tahmin edilebilir kılar. Küresel değişkenlere güvenerek, işlevselliği izole etmeyi zorlaştırıyorsunuz. Tek bir sınıf, test için daha iyidir (ancak yine de idealden daha azdır).

Yalnızca doğrudan girdilere güvenin

Bu her zaman gerçekleştirilemese de, yalnızca doğrudan girişlere bağlı kod yazmak en iyisidir. Yani, bir sınıf yalnızca iletilen bilgileri kullanır ve “bant dışı” bilgi almak için tektonlara veya küresellere güvenmez.

<span id="Do_not_use_exit()">

exit() kullanmayın

Bir betikden aniden çıkmak neredeyse hiç yapılmamalıdır. Bunu yapmak kodunuzu PHPUnit tarafından test edilemez hale getirecektir. Kodunuz beklenmedik bir hatayla karşılaşırsa, yapılacak en uygun şey aşağıdaki gibi bir istisna atmaktır:

throw new MWException( "Oh noes!" );

Bu, PHPUnit ve MediaWiki'nin düzgün şekilde çıkmasına ve geliştiricilere yığın izleri gibi bilgilendirici bilgiler sağlamasına olanak tanır.

Dış kaynaklar