我想为下游模块提供来自上游模块的测试数据/类。最好的方法是什么?
我们说我有以下模块:
TransactionsCache
-
有一个接口TransactionDbCache
。默认情况下,此模块将提供:ui-transactions
,使用SQLite支持此缓存。
TransactionsCache
- 需要:data-transactions
的实例来向用户显示交易。此模块依赖于:ui-transactions
。
我想要什么
TransactionsCache
时,我想提供TransactionsInMemoryCache
的虚假实现,例如:data-transactions
。 TransactionsInMemoryCache
的其他下游模块也可能需要TransactionsInMemoryCache
。此类不应包含在非测试模块中。internal
这样的测试依赖项应该能够利用kotlin :data-transactions
可见性修饰符 - 即与srcSets
我猜这里的解决方案与testHelper
和特殊parse
配置有关吗?
注意:这是针对Android的,所以我需要生成一个APK。这可能没有味道吗?
答案 0 :(得分:1)
有两种方法
src/test/java
(已编译)和src/test/resources
我,我自己,更喜欢选项2,因为我觉得它是最干净的方法,因为你把你想要的东西放在jar中(测试实用程序,抽象基类,测试资源等)并且你不喜欢它。包括罐子里的实际测试。
请参阅nebula-test-jar插件以获取选项1.请注意,星云已弃用此插件而支持选项2