我有一个方法,用于ServiceLoader使用资源加载服务.
public List<String> getContextData(int Id)
{
List<String> list = new ArrayList<String>();
ServiceLoader<ContextPlugin> serviceLoader = ServiceLoader.load(ContextPlugin.class);
for (Iterator<ContextPlugin> iterator = serviceLoader.iterator(); iterator.hasNext();)
{
list .addAll(iterator.next().getContextData(Id));
}
return list;
}
Run Code Online (Sandbox Code Playgroud)
我应该如何使用Junit对上述方法进行单元测试?
您需要将"provider-configuration file"复制到测试类目录中.
假设您的测试类文件位于
test/classes/
Run Code Online (Sandbox Code Playgroud)
您需要将"provider-configuration file"复制到
test/classes/META-INF/services/your.package.ContextPlugin
Run Code Online (Sandbox Code Playgroud)
如何复制文件取决于您的构建工具(例如maven,gradle,ant,...)
作为maven的示例,您应该将它们存储在test resources文件夹中.
src/test/resources/META-INF/services/your.package.ContextPlugin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2668 次 |
| 最近记录: |