SORU
25 HAZİRAN 2010, Cuma


Haskell test iş akışı

Ben sadece yeni Haskell bir proje başladı ve başından beri iyi bir test iş akışı kurmak istedim. Haskell mükemmel ve benzersiz test araçları bir sürü ve onları entegre etmek için birçok farklı yolu vardır gibi görünüyor.

İçine baktım:

Hepsi çok iyi kendi alanlarında çalışmıyor gibi görünüyor, ama test etmek için kapsamlı bir yaklaşım için arıyorum ve diğer insanlar için çalıştı ne olduğunu merak ediyorsunuz.

CEVAP
28 HAZİRAN 2010, PAZARTESİ


Birim testi kod kapsamı ve kriterleri doğru çoğunlukla doğru araçları seçmek.

  • test çerçevesi one-stop-shop bir koşum HUnit test durumları ve QuickCheck tüm özellikleri çalıştırmak için sağlar.
  • Kod kapsamı HPC aracı şeklinde DZD içine inşa edilmiştir.
  • Kriter harika kıyaslama makine sağlar

Çalışan bir örnek olarak sadece birim test, kod kapsamı ve kriterleri sağlayan ile başlayan bir paket kullanırım:

http://github.com/ekmett/speculation

Olabilir entegre testler ve kriterler doğrudan içine cabal dosya ekleyerek bölümler için onları ve maskeleme arkalarında bayraklar, böylece onlar değil, böylece her kullanıcı kütüphane olması lazım erişmek için (ve kullanmak için kendilerini) tam sürüm test araçları seçtik.

http://github.com/ekmett/speculation/blob/master/speculation.cabal

Sonra, test takımı çalıştırma hakkında cabal söyleyebilirsin.Cabal test henüz yok gibi bir öğrenci kodu bu yıl yaz için çalışıyoruz! biz en iyi mekanizmadırCabal kullanıcı kanca mekanizması kullanabilirsiniz. Bu 'Özel' komplo ile ve bir testHook kurma yapı. bir geçiş anlamına gelir Test programı test-yazılı çerçeve ile çalışır, ve sonra yüksek performanslı bilgi işlem profil için geçerli olan bir testHook örneği burada bulunabilir:

http://github.com/ekmett/speculation/blob/master/Setup.lhs

Ve sonra test çerçeve bir programa QuickCheck ve HUnit testleri paket için kullanabilirsiniz:

http://github.com/ekmett/speculation/blob/master/Test.hs

Cabal-fhpc kod kapsama test etkinleştirmek için, açmak için dikkatli ve sonra Kurulum testHook dosyada.belirtin elle sistemidir çalışır ve dağıtım dir içine onun çıkış yazıyor.

Kıyaslama için, hikaye biraz daha fazla manuel, 'komplo kriter' seçeneği. yok Test hook içine kriterler Tel olabilir, ama Kriter çok grafiksel raporlama seçenekleri vardır beri bunları el ile çalıştırmak için seviyorum. Yukarıda gösterildiği gibi cabal dosyası için kriterler ekleyin, onları ayrı bir derleme bayrakları ver, cabal bayrak arkasında onları gizlemek ve Kriter bütün ağır işleri yapmak için kullanabilirsiniz:

http://github.com/ekmett/speculation/blob/master/Benchmark.hs

Sonra komut satırından senin kriterler çalıştırın ve pop-up sonuçları kriter, vb ile KDE windows alabilirsiniz.

Uygulamada Haskell kodu geliştirirken cabal zaten içinde yaşıyorsun bu yana, sense bir sürü ile araç zinciri entegre etmek için yapar.

Edit: Cabal test desteği artık var. http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/developing-packages.html#test-suites bkz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008
  • The Slow Mo Guys

    The Slow Mo

    15 AĞUSTOS 2010