Extension:Pickle

From mediawiki.org
This page is a translated version of the page Extension:Pickle and the translation is 96% complete.
Outdated translations are marked like this.
MediaWiki manüel uzantıları
Pickle
Sürüm durumu: deneysel
px
Uygulama Kullanıcı arayüzü, Veri çıkarma, API
Açıklama Scribunto için temel bir yerinde test çerçevesi sağlar.
Yazar(lar)
  • John Erling Blad (Jebladmesaj)
En son sürüm 0.1.0
Uyumluluk politikası Master, geriye dönük uyumluluğu korur.
MediaWiki 1.33 - 1.35
Veritabanı değişiklikleri Hayır
Composer jeblad/pickle
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
README, LDoc
Yardım Help:Pickle
  • $wgIndicator
  • $wgLogEntry
  • $wgExtractor
  • $wgCategory
  • $wgTAP
  • $wgInvokeSubpage
  • $wgTranslationPath
  • $wgDefaultNamespace
  • $wgRenderTypes
  • $wgObserverID
  • $wgSetup
  • $wgExtractStatus
  • $wgExtractorPath
  • $wgNeglectSubpages
  • $wgTranslationFollows
  • $wgRenderPath
  • $wgRenderStyles
Pickle uzantısını çevirin

Pickle (veya Davranış odaklı geliştirme ', BDD, daha önce Spec) uzantısı, Scribunto ile "spec" stil testi için bir uzantısıdır. Spesifik tip testi, Rspec, Busted ve diğer benzer test çerçevelerinde yapılan aynı birim test tipidir. PHP ve birkaç Lua modülüne ve bunların yerelleştirmelerine çok ince bir entegrasyon sağlayacaktır. Gerçek kod hala geçerli Lua ve çeşitli editörlerde intellisense eksik tanımları hariç tüm düzenleme araçları çalışacaktır.

Kodunuzu seçtiğiniz için uzantıya Pickle denir. Aynı zamanda kelimelerle oynanan bir oyundur; gherkins, pickles için kullanılır. Gherkin aynı zamanda bir tür kabul testi "adım" stil testi için bir dildir, bu nedenle bu tür kod parçacıklarının turşu olduğunu söyleyebilirsiniz.

Turşu uzantısına kullanıcı bakış açısından genel bir bakış Help:Pickle sayfasında bulunabilir.

Kurulum

Spec Scribunto uzantısına bağlıdır. Vagrant tabanlı geliştirme ortamını yeniden oluşturmak için Pickle: Topics/Vagrant sayfasına bakın.


  • Dosya(ları)yı indirin ve extensions/ klasörünüzdeki Pickle adlı dizine yerleştirin.
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'Pickle' );
    
  • Yes Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.

Kullanım

Uzantı, örtük stil veya açık test stili için yapılandırılabilir. Örtük stil, define() çağrısındaki yüklemeyi piggyback yapar, ancak bu işlevsel bir getfenv() çağrısına bağlıdır. Scribunto uzantısı, getfenv() çağrısını ve Extension:Scribunto/Lua reference manual#Differences from standard Lua bu tam olarak öngörülebilir değildir, bu nedenle yalnızca açık stil çalışır.

getfenv() ile bağımlı olmanın nedeni, işlevlerin define() işlevi çağrılmadan önce yapılandırılması ve dolayısıyla çağıran çalışma zamanı ortamının olmasıdır. Küresel işlevleri doğru çalışma zamanı ortamına eklemek için define() çağrısını getfenv() kullanın. getfenv() çağrısı olmadan, işlevleri oluşturulurken doğru çalışma zamanı ortamı mevcut olmalıdır. Bu nedenle, describe() çağrısı genel işlevleri kurmalıdır.

Stiller arasında geçiş, {"Setup": "implicit"} veya {"Setup": "explicit"} yapılandırması ile yapılır.

Her yerde bulunan ve oldukça sinir bozucu bir örnek olan "Module:HelloWorld" gibi bir modülünüz varsa,

local p = {}

function p.helloWorld()
	return "Hi there!"
end

return p

Öyleyse bir /pickle alt sayfasında bunu aşağıdaki gibi test edersiniz

Örtük form
return describe 'Hello world' (function()
	subject .helloWorld()
	it 'says hello' (function()
		expect :toBe("Hi there!");
	end)
end)
Açık form
mw.pickle:install()

describe 'Hello world' (function()
	subject .helloWorld()
	it 'says hello' (function()
		expect :toBe("Hi there!");
	end)
end)

return mw.pickle:reports()

Örtük formun başında ve sonunda satırlar kaldırılır ve return deyimi kodun yeni sonuna taşınır.

tap() çağrısının kullanılabilir olduğu ve kaç tane describe() çağrı yapılabileceği gibi ek değişiklikler olabilir.