2014-06-30 64 views
0

我有斯卡拉類這樣的:如何模仿scala val提交?

@Component 
class SomeClassForTest { 
    @Autowired 
    implicit val type: Type = null 
... 
} 

純春天,這個代碼做工精細。但磨片我試圖創建測試用的Mockito:

@RunWith(classOf[JUnitRunner]) 
class SomeClassForTest { 

    @InjectMocks 
    var SomeClassForTest : instance = null 

    @Spy 
    val type: Type = new Type() 

    ... 

    //in before method 
    MockitoAnnotations.initMocks(this) 
} 

注入模擬不起作用,直到我寫var而不是val類測試:

@Autowired 
    implicit var type: Type = null 

是否有可能在測試類注射val

回答

1

我不這麼認爲,val意味着價值。它在定義期間定義。但Autowired的東西正在使用反射來設置新值的字段,所以它被延期。下劃線_表示將變量初始化爲基於類型的默認值。