我正在使用DBUnit,我遇到了字符串到字符串数组转换的问题。我通过@DatabaseSetup
注释传递数据集文件位置。接下来,此位置将传递给从AbstractDataSetLoader
延伸的加载程序(来源:http://springtestdbunit.github.io/spring-test-dbunit/cobertura/com.github.springtestdbunit.dataset.AbstractDataSetLoader.html)。
在这个类中存在方法
public IDataSet loadDataSet(Class testClass, String location) throws Exception { ResourceLoader resourceLoader = getResourceLoader(testClass); String[] resourceLocations = getResourceLocations(testClass, location); for (String resourceLocation : resourceLocations) { Resource resource = resourceLoader.getResource(resourceLocation); if (resource.exists()) { return createDataSet(resource); } } return null; }
调用getResourceLocations方法(此方法在同一个类中实现)
protected String[] getResourceLocations(Class testClass, String location) { return new String[] { location }; }带位置参数的
(这是我在@DatabaseSetup
中指定的参数)。我认为以这种方式声明的数组总是必须只包含一个元素,但在loadDataSet
方法中,我看到了从getResourceLocations
获得的数组的迭代。问题是,getResourceLocations可以返回包含多个元素的数组吗?