Fixtures

Yazılım ekran görüntüsü:
Fixtures
Yazılım detaylar:
Versiyon: 0.3.14
Qayıt: 14 Apr 15
Geliştirici: Robert Collins
Lisans: Ücretsiz
Popülerlik: 75

Rating: 5.0/5 (Total Votes: 2)

.

Fikstür öncelikle birim test & nbsp, yeniden devlet / destek mantığı için bir Python sözleşme tanımlayan bir araçtır, Yardımcısı ve adaptasyon mantığı kolay fikstür sözleşme kullanarak kendi demirbaşlar yazmaya yapmak için dahildir. Tutkal kodu kolay ve yalındır unittest uyumlu test durumda Fikstür sözleşme karşılayan fikstür kullanarak yapar sağlanır.
Neden Fikstür
Standart Python unittest.py, ve test sınıfı bir yöntem ilave olarak başka bir test durumda gerekli durumunu yeniden kullanmak için belirgin bir yöntemi temin etmektedir. Bu kötü ölçekler - Bu yapıldığında bir test sınıf hiyerarşisini eşiğinin karmaşık yardımcı fonksiyonları normal kalıptır. Harika bir araç kendisi (test sınıfı girdiyseniz aynı şekilde birikebilir karmaşık şeyler alay etmek ve yardımcıları) bu engellemez ise alaycı.
Bir TestCase üzerinde Yardımcıları nedir - yardımcıları hepimiz düzenli kod hijyen faaliyetleri tamamen farklı bir şey modelleme bir sınıf hiyerarşisi içinde olmanın bozan etkisi olmadan gerçekleşecek izin test sınıfı hiçbir bağımlılık var düzgün bir sözleşme tanımlayarak muzdarip.
Hakkında Fikstür
Bir Fikstürü bazı devlet temsil eder. Her fikstür fikstür özgü üzerinde özelliklere sahiptir. Örneğin, geçici dosyalar için kullanılabilecek bir dizini temsil eden bir fikstür bir niteliği 'yol' olabilir.
oluşturma Fikstür
Temizleme denir ve işiniz bittiğinde Minimal, alt sınıf Fikstürü, senin devlet başlatmak ve bir temizleme planlamak için kurulum tanımlayın:
>>> Import unittest
>>> Import demirbaşlar
>>> Sınıf NoddyFixture (bağlama kalıbı):
... Def Kur (öz):
... Süper (NoddyFixture, kendini) .setUp ()
... Self.frobnozzle = 42
... Self.addCleanup (delattr, kendini, 'frobnozzle')
Bu kurulum çağrıldığında frobnozzle başlatmak olacak, ve temizleme frobnozzle niteliğin kurtulmak çağrıldığında.
Armatürü içine bir işlev veya işlev çifti uyarlanması için bir yardımcı yoktur. bu fn_result fonksiyon sonucu koyar:
>>> Import os.path
>>> Import shutil
>>> Import tempfile
>>> Def setup_function ():
...) (Tempfile.mkdtemp dönüş
>>> Def teardown_function (fikstür):
... Shutil.rmtree (fikstür)
>>> Fikstür = fixtures.FunctionFixture (setup_function, teardown_function)
>>> Fixture.setUp ()
>>> Print os.path.isdir (fixture.fn_result)
Gerçek
>>> Fixture.cleanUp ()
Armatür API
Yukarıdaki örnekte Fikstürü API bazı tanıttı. Bir fikstür kullanıldıktan sonra temizlemek için edebilmek için, tüm demirbaşlar bir fikstür ile bittiğinde aranmalıdır bir temizleme yöntemi tanımlar.
Onun güzel bunları kullanarak önceden ilgili fikstür belli bir set inşa edebilmek Çünkü, demirbaşlar da bunları kullanmayı denemeden önce çağrılmalıdır bir kurulum yöntemini tanımlar var.
Birçok test durumlarda bunları yeniden oluşturmak için pahalı demirbaşlar ile ortak bir arzu; ) (Bu taban Fikstürü da self.cleanUp çağıran bir sıfırlama tanımlar desteklemek; self.setUp (). Daha verimli kendilerini yeniden bu yöntemi geçersiz gerekir yapabilirsiniz Fikstür. Bu daha sonra testresources, setUpClass veya setUpModule gibi şeyler üzerinden birden fazla test devleti ile kullanılabilir.
Bir test ile bir fikstür kullanırken el Kur ve temizleme yöntemleri çağırabilir. Daha uygun olsa da kullanımda, (unittest boyunca deve olduğu için deve durumda) useFixture oluşturan bir mixin içerir fixtures.TestWithFixtures arasından dahil yapıştırıcı kullanılmasıdır. Bu, fikstür Kur'u çağrı bir temizleme planlamak için self.addCleanup (fikstür) arama ve fikstür dönecektir. Bu bir yazma sağlar:
>>> Import testtools
>>> Import unittest
Biz TestCase.addCleanup yöntemi garanti etmek gerekiyor biz testtools kullanmak Not burada TestCase.
& Nbsp; >>> sınıf NoddyTest (testtools.TestCase, fixtures.TestWithFixtures):
& Nbsp; ... def test_example (öz):
& Nbsp; ... fikstür = self.useFixture (NoddyFixture ())
& Nbsp; ... self.assertEqual (42, fixture.frobnozzle)
& Nbsp; >>> sonuç = unittest.TestResult ()
& Nbsp;. >>> _ = NoddyTest ('test_example') (sonuç) çalıştırın
& Nbsp; >>>) (result.wasSuccessful yazdırmak
& Nbsp; Doğru
Ayrıca, bir bağlam yöneticisi olarak bir fikstür kullanabilirsiniz, böylece armatürü, bağlam protokolünü uygulamak:
>>> Fikstür olarak fixtures.FunctionFixture (setup_function, teardown_function) ile:
... Baskı os.path.isdir (fixture.fn_result)
Doğru

Gereksinimler :

  • Python

Benzer yazılım

Apache AntUnit
Apache AntUnit

11 May 15

Ahven
Ahven

15 Apr 15

PyZen
PyZen

12 May 15

SpeedTest
SpeedTest

12 May 15

Geliştirici Diğer yazılım Robert Collins

Yorumlar Fixtures

Yorum Bulunamadı
Yorum eklemek
Görüntülerde açın!