Я не знаю, почему, но класс ниже не работает, если переменная-экземпляр экземпляра является частной, но если я оставляю ее закрытой, она работает.Spring + Scala + анонимный блок или класс
Отладка тест в разделе «SetField» Я мог видеть, что имя переменной экземпляра должен быть «текст», но он становится «ком $ тест $ SimpleTest $$ текст»
package com.test
import org.testng.annotations.Test
import org.springframework.test.util.ReflectionTestUtils
class SimpleTest {
private var text = ""
@Test
def testValueOfX(): Unit = {
val simpleTest = new SimpleTest
ReflectionTestUtils.setField(simpleTest,"text", "abc")
println(
Option[String](null)
.map(v => v + " 123")
.getOrElse {
simpleTest.text + " 321"
})
}
}
Я считаю, что проблема каким-то образом быть «getOrElse», потому что, если я тоже уйду, это сработает.
Что вы подразумеваете под "не работает"? Какая строка вызывает ошибку? Как удаление 'getOrElse' заставляет его работать? –
Этот класс не работает, если вы попробуете запустить его. Линия выдает 'ReflectionTestUtils.setField (simpleTest," text "," abc ")'. Если я поместил переменную экземпляра 'simpleTest.text' анонимного блока, она будет работать. – Lira