У меня есть объект-компаньон с частным методом, например:
package com.example.people
class Person(val age: Int)
object Person {
private def transform(p: Person): Person = new Person(p.age + 1)
}
Я хотел бы протестировать этот метод с чем-то вроде:
class PersonSpec extends FlatSpec {
"A Person" should "transform correctly" in {
val p1 = new Person(1)
val p2 = Person.transform(p1) // doesn't compile, because transform is private!
assert( p2 === new Person(2) )
}
}
Любая помощь при использовании тестового кода для частных методов?
Собственно, поскольку он написан, я мог бы создать подкласс Person
, но что, если Person
объявлен как final
или sealed
?
Спасибо!