Teknoloji Pazarlama, Bloglarınızdan ve Gadget'larınızdan Para Kazanın

Eklentinizi Oluşturmak için WordPress Test Araçlarını Kullanın Github Eylemlerinde Birim Testlerini Çalıştırın

 Eklentinizi Oluşturmak için WordPress Test Araçlarını Kullanın  Github Eylemlerinde Birim Testlerini Çalıştırın

Son zamanlarda birim testleri hakkında çok konuşuyoruz, temel bilgilerle başlıyoruz ve ardından eklentilere testler eklemeye geçiyoruz, böylece bunu pratikte görebilirsiniz. Ayrıca sitenizi ana makinenize otomatik olarak dağıtmak için Github Eylemlerini nasıl kullanacağınızı da ele aldık. Bugün bu kavramların her ikisinden de parçalar alıp birleştireceğiz, böylece depoya yeni kod gönderdiğimizde testlerimizi Github eylemleriyle otomatik olarak çalıştıracağız.

Başlamak için bulduğum en kolay yol, WP Test Araçları Valu Digital'den. Valu Digital ekibi, testlerinizi Github Actions'da çalışır hale getirmeniz için oldukça kolay bir yol sağladı. Testleri çalıştırabilmeniz için eklenti geliştirmenize sıfırdan başlamak için yalnızca temel şablonlarını nasıl kullanacağınızı ele alacağız. Test kurulumlarını mevcut bir eklentiye eklemek biraz daha fazla çalışma gerektirir.

Mevcut Bir Eklentiye WP Test Araçları Kurulumu Ekleme

Başlamak için depoyu yerel bilgisayarınıza kopyalayın.

[email protected]:valu-digital/wp-testing-tools.git eklentinizin-adı

Daha sonra, eklentimizin temeli olacağı için deponun içinden eklentiler klasörünü almamız gerekiyor. Bu klasörü yeni eklentinizi istediğiniz yere taşıyın ve kullanmak istediğiniz eklenti adıyla eşleşecek şekilde yeniden adlandırın.

Besteci ile uğraşmak

Bu test kurulumu, bugün yakından tanımanıza gerek olmayan Composer'ı gerektirir. Gelecekteki bir gönderide Composer'ı ayrıntılı olarak ele alacağım. Şimdilik, WP Test Araçları için gerekli bağımlılıkları yüklemek üzere besteci kurulumunu çalıştırmanız gerekecek.

Ne yazık ki, depoda bazı gerekli Composer paketlerinin eksik olduğunu fark ettim, dolayısıyla bunların da aşağıdaki komutlarla kurulduğundan emin olmamız gerekecek.

besteci kod algılama/modül-dinlenme –dev gerektirir

besteci kod algılama/modül-phpbrowser –dev gerektirir

Okumak:  Bugün Kullanmanız Gereken 4 SEO Stratejisi (ve Gelecekte Nelere Bakmanız Gerekir)

besteci kod algılama/modül-db –dev gerektirir

besteci kod algılama/modül iddiaları gerektirir –dev

besteci kurulumu

Bekle, Composer'da hafıza hatalarım var. Yardım! Muhtemelen önemli değil ve bunları Github Eylemlerine almamalısınız, böylece şimdilik görmezden gelebilirsiniz.

Artık uygun araçları kurduk, Github'a basabilirsiniz ve birim testlerinin sorunsuz çalıştığını göreceksiniz. Bu eklenti hala bizim için hazır değil, bu yüzden içindeki diğer dizeleri yeniden adlandıralım ve onu kendimiz yapalım.

Eklenti Dosyalarını Ayarlama

Plugin.php dosyasında bulunan eklenti başlık bilgisini yeniden adlandırarak başlayabiliriz. Eklentinize uygun olanı adlandırın ve yazarı kendiniz yapın. Ayrıca ad alanını ve sınıf girişlerini de projemiz için doğru şekilde adlandırabilmemiz için değiştirmemiz gerekecek. Bu eğitim için ad alanını şirket adımla değiştiriyorum ve sınıf adım olarak PluginBase'i kullanıyorum. Yeniden adlandırılmış çalışma dosyamı aşağıda görebilirsiniz. Ayrıca okumayı kolaylaştırmak için yorumları da temizledim.

/**

* Eklenti Adı: Bana Hosting – Github Actions Unit Tests

* Eklenti URI'si: https://nexcess.net

* Açıklama: Github Eylemleri ile birim testlerini çalıştıran eklenti tabanı

* Yazar: Curtis McHale

* Sürüm: 0.1.0

*

* @paket örneği

*/

if (!\class_exists('\Sfndesign\PluginBase'))

require_once __DIR__ . '/vendor/autoload.php';

\Sfndesign\PluginBase::init();

Artık besteci.json'da değiştirmemiz gereken birkaç şey var. Eklentinin yazarı olarak listelendiğinizden emin olun ve Github Sorunları ve Kaynak bağlantılarını deponuzla eşleşecek şekilde değiştirin. Otomatik yükleme girişi altında eklentinizin ad alanını da değiştirmeniz gerekecektir. Şirketimin adını kullanıyorum, dolayısıyla benim adım Sfndesign diyor. Değiştirilen besteci.json dosyamı aşağıda görebilirsiniz.

“name”: “sfndesign/pluginbase”,

“description”: “Eylemler Eklentisi”,

“type”: “wordpress eklentisi”,

“lisans”: “GPL-2.0 veya üzeri”,

“yazarlar”: [

    

      “name”: “Curtis McHale”,

      “email”: “[email protected]”,

      “role”: “developer”

    

  ],

“geliştirme gereksinimi”:

“valu/wp-testing-tools”: “^0.4.0”,

“lucatume/wp-tarayıcı”: “~2.2”,

“codeception/module-rest”: “^1.2”,

“codeception/modül-phpbrowser”: “^1.0”,

“kod algılama/modül-db”: “^1.0”,

“kod algılama/modül iddiaları”: “^1,3”

,

“otomatik yükleme”:

“psr-4”:

“Sfndesign\\”: “kaynak/”

Okumak:  E-ticaret için Popüler Çok Satıcılı Pazar Yerleri...

,

“Kodlar”:

“wp-install”: “wp-install –full –env-file .env –wp-composer-file besteci.wp-install.json”,

“wpunit”: “codecept çalıştırma wpunit”,

“işlevsel”: “kodecept çalıştırması işlevsel”,

“Ölçek”: [

      “@wpunit”,

      “@functional”

    ]

,

“yapılandırma”:

“otomatik yükleyiciyi optimize et”: doğru

,

“Destek”:

“sorunlar”: “https://github.com/example/example/issues”,

“kaynak”: “https://github.com/example/example”

Şimdi src dizininde bulunan example.php dosyasının adını değiştirmemiz gerekiyor. Kullandığımız formata sadık kalmak için ona PluginBase.php adını vereceğim. Daha sonra bu dosyayı açın ve ad alanını Sfndesign ve sınıf adını PluginBase olarak değiştirin. Düzenlenen dosyayı aşağıda görebilirsiniz.

ad alanı Sfndesign;

sınıf PluginBase

genel statik işlev init()

define('ÖRNEK', 'başlatılmış');

add_action('the_title', function ()

'ÖRNEK BAŞLIK MOD'u döndürün;

);

Artık bu ayarlamaları yaptığımıza göre, Composer'ın yeniden adlandırılan dosyalarımızla gereken yeni otomatik yükleme yollarını kaydetmesi için besteci güncellemesini yeniden çalıştırmamız gerekiyor.

Son olarak, her şeyin iyi çalıştığından emin olmak için, testler/ExampleTest.php dosyasında bulunan ilk testlerini ne olursa olsun doğru döndürecek bir şeyle değiştirmenin daha kolay olduğunu düşünüyorum. Bu kodu aşağıda görebilirsiniz.

genel işlev testInit()

$this->assertTrue(true);

Artık hazır olduğumuza göre eklentinizi git deposu olarak başlatabilir ve ardından Github'a gönderebilirsiniz. Bunu yaptıktan sonra deponuzun Eylemler sekmesi altında çalışan bir eylem görmelisiniz ve birim testiniz çalıştırıldığı için her şey yeşile dönecektir.

Son birkaç yazı boyunca testler yazdık ve sürecimizin bazı kısımlarını otomatikleştirmek için Github Eylemlerini kullandık. Artık bu araçları müşteri projelerinizde kullanmak size kalmış. Daha sonra test yazmayacaksınız, bu nedenle projelerinize en baştan testlerle başladığınızdan emin olun. Test konusunda daha da derinlere inmek istiyorsanız Fränk Klein'ın mükemmel bir kursu var: WordPress'te Birim Testi. Test uygulamalarımda daha iyi olabilmek için gözden geçirilecekler listemde zaten var.