SBTを使用してテストを実行すると、コードのリビジョン5でエラーが発生します。
https://www.assembla.com/code/opyate-scala-graph-fork-sbt/subversion/changesets/5
Interwebsで「クラスはアクセス可能なorg.scalatest.Suiteではありません」を検索しましたが、scalatestフレームワークコードでそのメッセージの結果のみを取得します。
何が間違っているのか、それが依存関係のバージョンの問題なのか、互換性の問題なのか、テストが正しくコーディングされていないのかを理解するのを手伝ってください。
詳細は(一例):
スイート
@RunWith(classOf[JUnitRunner])
class TDegreeRootTest
extends Suites(
new TDegree[immutable.Graph](immutable.Graph),
new TDegree[ mutable.Graph]( mutable.Graph))
with ShouldMatchers
{
}
テストクラス
class TDegree[+CC[N,E[X] <: EdgeLikeIn[X]] <: Graph[N,E] with GraphLike[N,E,CC[N,E]]]
(val factory: GraphCompanion[CC])
extends Suite
with ShouldMatchers
{ ... }
例外
[error] Could not run test scalax.collection.TDegree:
java.lang.IllegalArgumentException:
Class is not an accessible org.scalatest.Suite:
scalax.collection.TDegree
例外をスローするScalaTestコード
以下は私のインスタンスのtrue
ために保持する必要があります:clazz
TDegree
classOf[Suite].isAssignableFrom(clazz) &&
Modifier.isPublic(clazz.getModifiers) &&
!Modifier.isAbstract(clazz.getModifiers) &&
Modifier.isPublic(clazz.getConstructor(emptyClassArray: _*).getModifiers)
引数のないコンストラクターが必要ですが、私にはありません。
質問は、「クラスに引数以外のコンストラクターがない場合、ScalaTestでテストクラスを実行するにはどうすればよいですか?」になると思います。