2016-02-18 11 views
8

EDIT:src/main/scala/mypackage /にないファイルがsrc/test/scala/tests /にある場合に機能します。scalatest:オブジェクトscalatestはパッケージorgのメンバーではありません

私は人々がほぼ同じ問題を持つトピックの中から解決策を試してきたが、どれも機能しません。詳細に

、Iはbuild.sbtでこれを持っている:とクラスのIntelliJで

libraryDependencies ++= Seq(
    ... 
    "org.scalatest" % "scalatest_2.10" % "2.2.1" % "test", 
    ... 

import org.scalatest.{BeforeAndAfterAll, Suite} 

{BeforeAndAfterAll、スイート}と赤色に私はscalatestが

見出される推測

SBTパッケージには、あまりにも動作しません:

オブジェクトscalatestはパッケージorgのメンバーではありません[エラー] import org.scalatest。

  • SBTクリーン更新
  • 再起動+のIntelliJのキャッシュ
  • 削除.ideaを無効/及び
  • libraryDependencies + =を再インポート:{BeforeAndAfterAll、スイート}

私はすでにこれをしようとしています"org.scalatest" % "scalatest_2.10" % "2.0" % "テスト" の代わりに私のキーボード 0123上の実際の

  • 魔法の儀式をOGF

    何も

    任意のアイデアを働きませんか?

  • +0

    なぜsrc/mainでscalatestを使いたいのですか? – Ben

    +0

    スカラーライブラリの依存関係から%testを削除します。そこにいる限り、コンパイル・フェーズでクラスパスに必要なエントリを取得することはできません。 – philwalk

    +0

    これを修正しましたか?同じエラーが発生しています。どんな助言も役に立つでしょう。 – Srinivas

    答えて

    13

    あなたがsbt project structureを見てみる必要があります。

    src/ 
        main/ 
        resources/ 
         <files to include in main jar here> 
        scala/ 
         <main Scala sources> 
        java/ 
         <main Java sources> 
        test/ 
        resources 
         <files to include in test jar here> 
        scala/ 
         <test Scala sources> 
        java/ 
         <test Java sources> 
    

    あなたのScalaのテストはsrc/test/scala/の下に行く必要があります。

    あなたが本当にメインでscalatestを使用したい(そして、あなたがやろうとしているか知っている)場合は、この試してください:あなたの元build.sbt、「テスト」で

    "org.scalatest" % "scalatest_2.10" % "2.2.1", 
    

    を設定し、それがあることを意味スカラテストはテストクラスパス上にのみ存在し、主ソースによって必要とされません。通常、ライブラリを使用するには、テストの依存関係は必要ないため、これは一般的にライブラリにとっては良い方法です(ref)。

    +0

    混乱の45分後、ありがとう...本当に –

    関連する問題