Učím sa Scalu a chcel by som v Eclipse vytvoriť integrované testovanie jednotiek. Pokiaľ viem z googlingu, ScalaTest je spôsob, ako ísť, pravdepodobne v kombinácii s JUnit.
Aké sú vaše skúsenosti s testovaním jednotky Scala v Eclipse? Mal by som použiť bežec JUnit alebo niečo iné?
odpovede:
5 pre odpoveď č. 1Len na udržanie aktuálnosti odpovedí: ScalaTest teraz prichádza so symbolom eclipse plugin, ktoré by mali zvládnuť bežné testy od spoločnosti Eclipse po vybalení z krabice.
7 pre odpoveď č. 2
Na webe ScalaIDE sa nachádza wiki stránka Ako spustiť Scala jednotky testy v Eclipse, Ak máte konkrétne problémy s vykonávaním testov jednotiek špecifikácie, odporúčame vám uverejňovať správy na serveri špecifikácia užívatelia mailing list.
Eric.
6 pre odpoveď č. 3
Nepodarilo sa mi spustiť špecifikácie ScalaTestu s bežec JUnit vo vnútri zatmenia. Myslím si, že je to kvôli absencii @Test
anotované metódy. Ak však váš projekt podporuje Maven, môžete spustiť svoje špecifikácie z príkazového riadku pomocou mvn test
, Aby doplnok Surefire zistil vaše špecifikácie, použite v konfigurácii súboru pom.
<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>
Odhlásiť sa tieto príklady ako referenciu.
2 pre odpoveď № 4
Posledných pár dní som sa snažil nájsť kombináciu jednotkových testov, ktoré pracujú so škálou pre môj projekt, a to je to, čo som našiel.
Používam kandidátov na vydanie verzie Scala 2.8, pretože opravuje niekoľko chýb, ktoré ma blokovali v 2.7.2. Spočiatku som sa snažil prinútiť Scalatest pracovať s 2,8, ale nedokázal som nájsť stabilné riešenie, ktoré by mohlo byť v budúcnosti lepším spôsobom, ale v súčasnosti sa zdá, že okolo vydania 2.8 je príliš veľa tokov.
Konfigurácia, ktorú mám, je použitie anotácií JUnit4 v mojom testovacom kóde scala takto:
import org.junit._ import Assert._ class TestSuite { @Test def testSimple () { asserEquals ( "rovné", 1,1) } }
Potom používam testovaciu súpravu java JUnit na spustenie všetkých mojich testov spolu takto:
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 }) verejné testy AllTests { verejná statická testovacia súprava () { TestSuite suite = nový TestSuite („Test Suite“); návrat suite; } }
Jediným ďalším trikom je pridať výstupný adresár ako zdrojový adresár v Eclipse, aby JUnit runner mohol nájsť vaše súbory triedy. Je to trochu hack, ale zdá sa, že to funguje.
Project-> Properties-> Java Build Path-> Source-> Add Folder a potom kliknite na triedy (alebo bin, kdekoľvek kompilujete súbory tried).
V Eclipse to funguje dobre kliknutím pravým tlačidlom myši na AllTests.java a výberom RunAs-> Junit
1 pre odpoveď č. 5
Nemohol som ani nechať spustiť jednotkové testy z Eclipse (určite som to neskúšal príliš tvrdo), ale ak ste ochotní sa pozrieť na práce IntelliJ ScalaTest zvnútra IDE bez problémov.