2010-12-28 8 views
1

Ich kann nicht folgenden Code mit IDEA laufenWie scala Tests mit Junit 4 ausführen?

@Test 
class CompanyURLTest extends Assert { 
    @Test 
    def test = assert(false); 

} 

Es läuft, aber J-Einheit sagt, dass es nicht für mich

+0

Können Sie mir bitte mehr über Test-Frameworks sagen Sie verwenden? Ist es klar JUnit oder etwas anderes zusammen damit? – mcveat

Antwort

5

Ich benutze ScalaTest normalerweise in Kombination mit dem Junit4 Runner, so dass Maven meine Tests sieht und ausführt. Ich mag die Spec/FlatSpec/WordSpec Semantik für die Organisation von Tests. Ich experimentiere mit den ShouldMatchers, aber ich habe JUnit so lange benutzt, dass es für mich etwas natürlicher erscheint.

Hier ist ein Beispiel:

import org.junit.runner.RunWith 
import org.scalatest.junit.JUnitRunner 
import org.scalatest.FlatSpec 
import org.scalatest.matchers.ShouldMatchers 

@RunWith(classOf[JUnitRunner]) 
class BlogFeedHandlerTest extends FlatSpec with ShouldMatchers with Logging { 
    "the thingy" should "do what I expect it to do" in { 
     val someValue = false; 

     assert(someValue === false) 
    } 
} 

Die ScalaTest docs sind bei http://www.scalatest.org/

2

folgende Tätigkeiten ausgeführt werden, testen

import org.junit._ 
import Assert._ 

class MyTest { 

    @Test 
    def test = assert(false) 
} 
2

Die @ org.junit.Test-Annotation gilt nur für Methoden: @Target ({ElementType.METHOD}). Beachten Sie auch, dass die Testmethoden Unit zurückgeben müssen.

import org.junit.Assert._ 
import org.junit.Test 

class CompanyURLTest { 
    @Test def test = assertFalse(false) 
}