Имитация объекта scala

Я использую mockito и пытаюсь имитировать scala объект.

object Sample { }
//test
class SomeTest extends Specification with ScalaTest with Mockito {
    "mocking should succeed" in {
        val mockedSample = mock[Sample]
     }
}

Это дает мне две ошибки компиляции.

error: Not found type Sample
error: could not find implicit value for parameter m:
scala.reflect.ClassManifest[<error>]

Если я изменю Sample с объекта на класс, он будет работать. Можно ли имитировать объекты Scala с помощью mockito? Если да, то как?

13
задан keiter 2 February 2011 в 12:26
поделиться

1 ответ

Как написано, ваш образец является чистым синглтоном. Это его собственный тип, и есть только один член этого типа, точка. Scala objects может расширять другой класс (возможно, абстрактный, если он предоставляет необходимые определения, чтобы сделать его конкретным) и черты. Это дает ему идентификатор типа, который включает этих предков.

Я не знаю, что на самом деле делает Mockito, но, на мой взгляд, то, о чем вы просите, строго противоречит объекту Scala.

10
ответ дан 1 December 2019 в 22:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: