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 (文字列 resourceLocation : resourceLocations) { リソース resource = resourceLoader.getResource(resourceLocation); if (resource.exists()) { createDataSet(リソース) を返します。 } } null を返します。 }
getResourceLocations メソッドを呼び出す (このメソッドは同じクラスに実装されています)
protected String[] getResourceLocations(Class testClass, String location) { 新しい文字列を返します[] {場所}; }
位置パラメーターを使用します (これは で指定された私のパラメーターです@DatabaseSetup
)。このような方法で宣言された配列は、常に 1 つの要素のみを含む必要があると考えていましたが、loadDataSet
メソッドでは、 から取得した配列に対する反復が見られgetResourceLocations
ます。問題は、getResourceLocations が複数の要素を含む配列を返すことができるかどうかです。