2016-08-29 3 views
1

org.scalatest.FlatSpecをサブクラス化して、FlatTestに実用的なツールを追加しました。しかし、どこでも、私はこのサブクラスを使用して、私はscala.language.reflectiveClassをインポートする必要がありそうでない場合、私は問題のメソッドtestは標準FlatSpecでshouldに相当しscala.language.relectiveCallsのインポートを要求しない方法

reflective access of structural type member method test should be enabled 
by making the implicit value scala.language.reflectiveCalls visible. 

を得る:

it should "do some stuff" in { ...} 

なぜそれがインポートする必要はありませんreflectiveCallsはflatSpec shouldを使用していますが、私のtestメソッドには必要です。どうすればそれを避けることができますか?

+0

私たちに 'test'メソッドとその使い方を教えてください。警告によると、 'new {...}'コールがあります。 – vsminkov

+0

あなたはある意味で質問に答えました。私はすべてのコード(私と退屈なとにかく)を与えることはできませんが、私は 'new {...}'を使っています: 'it'として動作する' we'を定義しました( 'it'をオーバーライドしない、 "{{}"の "...")、私は適切なクラスを定義することを心配しなかった: 'val we = new {...}'。それはクリーンなコードではありませんでした。 –

+0

あなたはそれを答えに入れることができますか? –

答えて

3

この警告が表示される理由は、testメソッドのどこかで構造型参照またはnew {...}が呼び出されているためです。

残念ながら、明示的にscala.language.reflectiveClassコードをインポートまたは書き直す以外に、警告をオフにする方法はありません。

+1

私はコードを書いた、ありがとう –

関連する問題