Я пытаюсь протестировать карри приватный метод (на самом деле функция ), используя PrivateMethodTester
, но не могу понять, как его вызвать
Рассмотрим следующий curry метод:
object MyObject {
..
private def curriedAdder(augend: Int)(addend: Int): Int = augend + addend
..
}
Следующее дает ошибку компиляции
assert(9, MyObject.invokePrivate(PrivateMethod[Int]('curriedAdder)(2)(7)))
..
[error] /path/to/MyObject.scala:76:80: org.scalatest.PrivateMethodTester.Invocation[Int] does not take parameters
[error] assert(9, MyObject.invokePrivate(PrivateMethod[Int]('curriedAdder)(2)(7)))
[error] ^
..
Хотя эта не может найти функцию
assert(9, MyObject.invokePrivate(PrivateMethod[Int => Int]('curriedAdder)(2))(7))
..
[info] - my-test-name *** FAILED ***
[info] java.lang.IllegalArgumentException: Can't find a private method named: curriedAdder
[info] at org.scalatest.PrivateMethodTester$Invoker.invokePrivate(PrivateMethodTester.scala:247)
..
- Можно ли вообще протестировать карри-приватные методы с использованием
PrivateMethodTester
? - Если да, то где я ошибаюсь??
Версии каркаса:
"org.scalatest" %% "scalatest" % "3.0.3" % Test
scalaVersion := "2.11.11"
sbt.version=1.0.3