2010-06-06 16 views
15

Scala'yı öğreniyorum ve Eclipse'de entegre birim testi kurmak istiyorum. Googling'den anlatabildiğim kadarıyla, ScalaTest, muhtemelen JUnit ile birlikte kullanılma yoludur.Eclipse biriminde Scala testini nasıl buldunuz?

Eclipse'de Scala birim testleri ile ilgili deneyimleriniz nelerdir? JUnit koşucusunu veya başka bir şeyi kullanmalı mıyım?

+2

Denemedim, ancak burada bazı belgeler var: https://www.assembla.com/wiki/show/scala-ide/Using_Unit_Testing_Frameworks –

+1

@Matt Teşekkürler, bu çalışma - bir yanıt olarak eklemelisiniz , aslında. –

cevap

5

Yanıtları yalnızca güncel tutmak için: ScalaTest artık, eclipse plugin ile birlikte gelir ve Eclipse'nin çalışma dışı testlerini gerçekleştirmelidir.

6

ScalaTest teknik özelliklerini tutulmadan JUnit runner ile çalıştıramadım. Bunun nedeni, @Test açıklamalı yöntemlerin olmamasıdır. Ancak projeniz Maven desteğine sahipse, mvn test kullanarak teknik özelliklerinizi komut satırından çalıştırabilirsiniz. Surefire eklentisinin spesifikasyonlarınızı algılaması için, pom dosyasında aşağıdaki yapılandırmayı kullanın.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.5</version> 
    <configuration> 
    <includes> 
    <include>**/*Spec.class</include> 
    </includes> 
    </configuration> 
</plugin> 

Referans için these example'a bakın.

+0

Bu iyileştirildi - web sitesine bir işaretçi için Eric'in yanıtına bakın: http: //www.assembla.com/wiki/show/scala-ide/Using_Unit_Testing_Frameworks –

1

Eclipse'den çalıştırılan birim sınamalarını alamadım (itiraf etmedim çok zor), ancak IntelliJ ScalaTest uygulamasına IDE içinden hiçbir sorun çıkarmadan bakmaya istekli iseniz.

+0

JUnit runner'ın Eclipse'deki kutudan çıktığı ortaya çıktı. Sadece doğru paketi içe aktarmalı ve test yöntemlerinden önce, tıpkı Java'da olduğu gibi @ test yazmam gerekiyordu. Yine de ScalaTest'i denemedim. –

+0

IntelliJet'i kullanmanızı öneririm, scala ile birim testini başlattığımda (http://www.persistentpanda.com/2011/03/unit-testing-with-scala.html), Eclipse'in bana verdiği tek şey baş ağrıyordu. . Özellikle Maven projeleriyle. –

2

Son birkaç günümü, projem için scala ile çalışan birim sınamalarının bir birleşimini bulmaya çalıştım ve bu da bulduğum şey.

Scala 2.8 için sürüm adaylarını kullanıyorum çünkü bu, 2.7.2'de beni engelleyen birtakım hataları düzeltiyor. İlk olarak Scalatest'i 2.8 ile çalışmayı denedim, ancak gelecekte daha iyi bir yol olabilecek kararlı bir çözüm bulamadı, ancak şu anda 2.8 sürümünde çok fazla akı var gibi görünüyor.

ben çalışma var yapılandırma şöyle benim scala testi kodunda JUnit4 açıklamaları kullanmaktır: Sonra

 
import org.junit._ 

import Assert._ 

class TestSuite{ 

    @Test def testSimple(){ 
    asserEquals("Equal",1,1) 
    } 
} 

Ben bütün testleri çalıştırmak için bir java JUnit test paketi kullanıyorum arada şöyle:

 
import junit.framework.Test; 
import junit.framework.TestSuite; 
import org.junit.runner.RunWith; 
import org.junit.runners.Suite; 

@RunWith(Suite.class) 
@Suite.SuiteClasses({ 
    TestSuite.class 
    }) 
public class AllTests { 

    public static Test suite() { 
    TestSuite suite = new TestSuite("Test Suite"); 
    return suite; 
    } 

} 

Tek ek numara, çıktı dizini Eclipse'de bir kaynak dizin olarak eklemektir, böylece JUnit koşucusu sınıf dosyalarınızı bulabilir. Bu biraz bir kesmek, ama işe yarıyor gibi görünüyor.

Proje-> Özellikler-> Java Oluşturma Yolu-> Kaynak-> Klasör Ekle'yi tıklatın ve sonra sınıfları (veya sınıf dosyalarını derlediğiniz her yerde, bin) tıklatın.

Bu AllTests.java sağ tıklayarak Eclipse iyi çalışır ve RunAs-> JUnit

+0

JUnit için kütüphane başvurusunu eklemiş olmama rağmen, açıklamalı test kodu içeren bir scala dosyasına sağ tıklayıp RunAs-> Junit'i seçebileceğimi öğrendim. –

+0

Evet, bu benim için de işe yarayacak gibi görünüyor, ancak projem için tam bir test yapmanın daha kullanışlı olduğunu düşünüyorum. Testlerimden bir takım oluşturmak için JUnit4 ek açıklamaları ile bir .scala dosyası oluşturmaya çalıştığımda işe yaramadı. – gbrown

7

seçerek how to run Scala unit tests in Eclipse üzerine ScalaIDE web sitesinde bir wiki sayfası yoktur. Spesifikasyonlar birim testleri ile ilgili belirli sorunlarınız varsa, specs-users posta listemize mesaj göndermenizi öneririz.

Eric.

+1

Eğer e-posta listeleri herkes için yeterliyse, o zaman dünya –

+0

Yığın Taşımı'na ihtiyaç duymayacaktı. – Eric

İlgili konular