我正在写一个Solr搜索组件,它所做的只是在prepare
方法中设置一些输入参数:
@Override public void prepare(ResponseBuilder rb) throws IOException {
ModifiableSolrParams params = new ModifiableSolrParams(rb.req.getParams());
String paramValue = calculateParamValue();
params.set("paramName", paramValue);
rb.req.setParams(params);
}
组件设置一些参数的值(如简化代码示例中所示)。稍后在处理程序的组件链中使用的组件使用这些值。我想将我的组件的测试分开,并独立于链中跟随它的组件进行测试。问题是该组件不会向Solr的响应添加条目。它所做的只是设置仅对其他Solr组件可见的参数。不幸的是,Solr's testing framework似乎不允许我对参数进行断言,只是对返回的响应进行断言。
目前我正在使用虚拟搜索组件测试组件,该组件在测试过程中执行测试。我不喜欢这个解决方案,因为它不允许我将测试代码与源代码分开。
有没有更好的方法来测试组件?