Tôi đang sử dụng scalamock để giả lập một lớp có chứa một số phương thức quá tải nhưng tôi gặp phải một số lỗi.Phương pháp nạp chồng quá tải
Ví dụ:
val out = mock[PrintStream]
(out.print _).expects("cmd \r\n")
Tăng các lỗi sau:
[error] [...]/src/test/scala/chili.scala:19: ambiguous reference to overloaded definition,
[error] both method print in class PrintStream of type (x$1: String)Unit
[error] and method print in class PrintStream of type (x$1: Array[Char])Unit
Nhưng nếu tôi cố gắng sử dụng:
(out.print(_: String)).expects("cmd \r\n")
Tôi cũng nhận được một lỗi:
[info] [...]/src/test/scala/chili.scala:19: Unable to resolve overloaded method print
[info] (out.print(_: String)).expects("cmd \r\n")
[info] ^
[error] [...]/src/test/scala/chili.scala:19: value expects is not a member of String => Unit
[error] (out.print(_: String)).expects("cmd \r\n")
Có cách nào để làm điều này trong scala? Có thể sử dụng thư viện khác?
Câu trả lời hay. Cảm ơn – simao