2014-04-06 17 views
12

Node.js'yi kullanmaya başladım ve bir test çerçevesi arıyordum.mocha ve Selenium arasındaki fark nedir?

buldum:

  • Mocha
  • Selenyum

Ben selenyum ile bir benzeri alt düzey dillerle testleri yazmak için sahipken Mocha biri JS testleri yazmak için olabileceğini anlıyoruz C#.

Bunun dışında, Selenyum bunu yapabiliyor mu?

Mocha'nın kendi kendine yararı nedir?

cevap

25

Mocha ve Selenium her ikisi de test yazılımı ile uğraşırlar ancak farklı problemleri çözerler.

Mocha, sınama çerçevesidir. Mocha'ya hangi testlerinizin olduğunu ve hangi testleri çalıştırmak istediğinizi ve mocha'ya testlerinizi yapıp geçenleri ve başarısız olanları bildireceğini söylersiniz. Mocha kendi başına bir test çalışma çerçevesi sağlar. Genellikle, Chai gibi bir onaylama kitaplığı kullanmak isteyeceksiniz. Test desteği veren tek kütüphanenin Chai ile birlikte Mocha olduğu test süitleri var. Bu mükemmel bir kullanım durumu.

Selenium tarayıcıları denetleyen bir kütüphanedir. Kapsamının önemli bir kısmı tarayıcı tabanlı yazılımı sınamaktır. Bununla birlikte, web sitelerini kazıma için de kullanılabilir. Bu, Selenyum'un Mocha'nın kendi başına yapamayacağı bir şeydir. Tersine Selenium bir test çalışan çerçeve değildir. Selenium'un testleri sınırlandırmak ve sadece belirli testleri yürütmek için özel bir imkanı yoktur. Bir testten diğerini sınırlamak için Mocha gibi bir çalışma çerçevesine güvenmeniz gerekiyor.

Tarayıcı tabanlı bir uygulamayı sınayan bir test paketi yazmak isterseniz, Mocha'yı Selenium ile birlikte kullanabilirsiniz. Ya da Selenium ile Yasemin (başka bir test çalışma çerçevesi). Ya da, Behave'i (bir Python tabanlı test koşucusu) Selenium ile birlikte kullanabilirsiniz. Ya da Mocha'yı tarayıcıları kontrol eden başka bir kütüphaneyle birlikte kullanabilirsiniz.

Bu özel soru özel bir işleme ihtiyaç:

Ben selenyum ile bir C# gibi alt düzey dillerle testleri yazmak için sahipken biri olabilir Mocha JS testleri yazmak için anlıyoruz.

C# alt düzeyli bir dili çağırmazdım. Her halükarda, Mocha'yı kullanarak JavaScript kullanmalısınız. (Ruby için de "Mocha" adlı bir test kütüphanesi var ama bu, JavaScript'in bir Ruby versiyonu değil. JavaScript'in birinden bahsettiğimi farzediyorum, bu da cevabımı totolojik kılıyor, ama işte buradayız.) Selenium'u JavaScript, Python, C#, Java ve diğer dillerle birlikte kullanın.

+1

Selenium'da neden testler sınırlandırılamaz? Selenium web sürücüsünü kurdum, her biri bir test için bir dizi test dosyası oluşturup bunları sırayla çalıştırıyorum ('node test .js'). – batman

+4

Bu, sınırlandırılmış olamaz, dönem değil. * Selenium * bunu yapmak için imkan sağlamamaktadır. Selenium'a "burada bir test", "burada başka bir" olduğunu söyleyecek bir API yok. Testlerinizi birden fazla dosya arasında bölüyorsanız, * Selenium * "bu testi çalıştırınız" demezsiniz. Sen söyle * Düğüm * "bu dosyayı çalıştır." Mocha, diğer yandan testin ne olduğunu biliyor. – Louis

İlgili konular