簡體   English   中英

你如何在Eclipse中對Scala進行單元測試?

[英]How do you unit test Scala in Eclipse?

我正在學習Scala,並希望在Eclipse中設置集成單元測試。 據我所知,通過谷歌搜索,ScalaTest是可行的方式,可能與JUnit結合使用。

您在Eclipse中對Scala進行單元測試的經歷是什么? 我應該使用JUnit跑步者還是其他什么?

ScalaIDE網站上有一個關於如何在Eclipse中運行Scala單元測試的Wiki頁面。 如果您在運行規范單元測試時遇到特定問題,我建議您在specs-users郵件列表中發布消息。

埃里克。

我無法在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>

查看這些示例以供參考。

只是為了讓答案保持最新:ScalaTest現在附帶了一個eclipse插件 ,它應該能夠處理從Eclipse開箱即用的運行測試。

過去幾天我一直試圖找到與我的項目的scala一起使用的單元測試組合,這就是我發現的。

我正在使用Scala 2.8的候選版本,因為它修復了一些在2.7.2中阻止我的錯誤。 我最初試圖讓Scalatest使用2.8,但未能找到一個穩定的解決方案,將來這可能是一個更好的方法,但目前在2.8版本中似乎有太大的變化。

我工作的配置是在我的scala測試代碼中使用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運行器可以找到您的類文件。 這有點像黑客,但似乎有效。

項目 - >屬性 - > Java構建路徑 - >源 - >添加文件夾,然后單擊類(或bin,無論您將類文件編譯到何處)。

通過右鍵單擊AllTests.java並選擇RunAs-> Junit,這在Eclipse中運行良好

我無法從Eclipse運行單元測試(不可否認我沒有太努力),但是如果你願意看看IntelliJ ScalaTest在IDE中運行沒有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM