[英]Gradle: Override Class from main sourceSet in Test sourceSet
我有一個提供Dagger模塊的Modules類。 在運行單元測試和androidTests時,我想覆蓋此類,類似於您可以針對不同構建類型或風格覆蓋類的方式。
這可能嗎? 當前,當我嘗試在test
sourceSet中嘗試一個與main
sourceSet中的相應類具有相同限定名稱的類時,出現“ Duplicate class file found
錯誤。
最終,我希望在單元測試期間提供不同的數據庫。
最簡單的方法不是覆蓋類(您已經注意到這是行不通的)。 相反,您可以定義一個通用接口,然后有兩個不同的實現。 一個main
用於test
。
這樣,測試可以提供Test<Something>
對象,而應用程序代碼提供<Something>
,而您正在測試的類將不知道它們之間的區別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.