2016-08-29 3 views
1

Я подклассифицировал org.scalatest.FlatSpec, чтобы добавить практическое оснащение к FlatTest. Но где бы я использовать этот подкласс, я должен импортировать scala.language.reflectiveClass иначе я получаюКак не требовать импорта scala.language.relectiveCalls

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

Метод test в вопросе является эквивалентом should в стандартном FlatSpec:

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

Почему не нужно импорта reflectiveCalls использовать flatSpec should, но это необходимо для моего метода test, и как я могу избежать этого?

+0

Не могли бы вы показать нам метод 'test' и как вы его используете? Согласно предупреждению, у вас есть 'new {...}' вызов. – vsminkov

+0

Ну, вы ответили на вопрос в некотором роде. Я не могу дать весь код (частный и скучный в любом случае), но я использую 'new {...}': я определил 'we', которые действуют как' it' (чтобы не переопределять 'it', что дает' test «...» в {} '), и я не стал определять правильный класс:' val we = new {...} '. Это был не чистый код. –

+0

можете ли вы ответить на него? –

ответ

3

Причина, по которой вы получаете это предупреждение, заключается в том, что у вас есть структурная ссылка типа или new {...} звоните где-нибудь в свой метод test.

К сожалению, вы не можете отключить это предупреждение, кроме как явным scala.language.reflectiveClass импортировать или переписывать свой код.

+1

Я переписал код, спасибо –

Смежные вопросы