我正在學習Scala,並希望在Eclipse中設置集成的單元測試。 據我可以從谷歌搜索可以看出,ScalaTest是要走的路,可能與JUnit組合。你如何在Eclipse中測試Scala?
在Eclipse中對單元測試Scala有什麼經驗?我應該使用JUnit跑步者還是其他?
我正在學習Scala,並希望在Eclipse中設置集成的單元測試。 據我可以從谷歌搜索可以看出,ScalaTest是要走的路,可能與JUnit組合。你如何在Eclipse中測試Scala?
在Eclipse中對單元測試Scala有什麼經驗?我應該使用JUnit跑步者還是其他?
只是爲了讓答案保持最新:ScalaTest現在帶有一個eclipse plugin,它應該可以從Eclipse開箱即可處理運行測試。
我無法在eclipse中使用JUnit runner運行ScalaTest規範。我認爲這是因爲缺少@Test
註釋的方法。但是,如果您的項目具有Maven支持,則可以使用mvn test
從命令行運行您的規格。對於Surefire插件來檢測您的規格,請在您的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>
檢查出these example作爲參考。
這已得到改進 - 請參閱@ Eric的指向該網站的指示:http://www.assembla。com/wiki/show/scala-ide/Using_Unit_Testing_Frameworks – 2012-06-13 15:43:41
我無法從Eclipse運行單元測試(雖然我沒有太努力),但是如果你願意從IDE內部看看IntelliJ ScalaTest的工作原理而不會出現任何問題。
事實證明,JUnit runner在Eclipse中爲我開箱即用。我只需導入正確的軟件包並在測試方法之前寫入@test,就像在Java中一樣。儘管如此,還沒有嘗試過ScalaTest。 – 2010-06-10 08:46:42
我強烈推薦使用IntelliJ,當我開始使用scala進行單元測試時(http://www.persistentpanda.com/2011/03/unit-testing-with-scala.html),Eclipse給我的唯一一件事就是頭疼。尤其是Maven項目。 – 2011-04-01 12:23:45
我花了幾天的時間試圖找到與我的項目的scala一起工作的單元測試的組合,這就是我發現的。
我正在使用Scala 2.8的候選版本,因爲它修復了一些在2.7.2中阻止我的bug。我最初試圖讓Scalatest與2.8一起工作,但未能找到一個穩定的解決方案,未來可能是一個更好的方法,但目前在2.8版本中似乎有太多的變化。
我有工作的配置是使用JUnit4註解在我的斯卡拉測試代碼如下所示:
import org.junit._ import Assert._ class TestSuite{ @Test def testSimple(){ asserEquals("Equal",1,1) } }
然後我使用的是Java的JUnit測試套件來運行我的所有測試在一起,就像這樣:
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; } }
唯一的附加技巧是將輸出目錄添加爲Eclipse中的源目錄,以便JUnit運行器可以找到您的類文件。這有點破解,但似乎有效。
Project-> Properties-> Java Build Path-> Source-> Add Folder然後點擊類(或bin,無論你在編譯你的類文件到哪裏)。
這對AllTests.java運行正常在Eclipse中通過右擊並選擇RunAs->的Junit
我發現只要右鍵單擊包含帶註釋的測試代碼的scala文件,並選擇RunAs-> Junit,前提是我已經爲JUnit添加了庫引用。 – 2010-07-09 17:45:47
是的,這似乎也適用於我,但對於我的項目運行一整套測試更有用。當我嘗試使用JUnit4註釋創建一個.scala文件來創建我的測試套件時,它不起作用。 – gbrown 2010-07-09 18:13:32
有上how to run Scala unit tests in Eclipse的ScalaIDE網站上的維基頁面。如果您在運行規格單元測試時遇到特定問題,我鼓勵您在specs-users郵件列表上發佈消息。
Eric。
如果郵件列表對於每個人都是足夠的,那麼世界將不需要堆棧溢出 – 2014-04-08 03:38:46
我同意,我自己不是一個非常有用的答案:-) – Eric 2014-04-08 03:51:59
我還沒有嘗試過,但這裏有一些文檔:https://www.assembla.com/wiki/show/scala-ide/Using_Unit_Testing_Frameworks – 2010-06-06 15:16:33
@Matt謝謝,這是有效的 - 你應該添加它作爲答案,實際上。 – 2010-06-06 20:18:39