0

私はこれを試しました:

<util:list id="list1">
    <value>foo@bar.com</value>
    <value>foo1@bar.com</value>
</util:list>

<util:list id="list2">
    <value>foo2@bar.com</value>
    <value>foo3@bar.com</value>
</util:list>

<util:map id="emailMap" value-type="java.util.List">
    <!-- Map between String key and List -->
    <entry key="entry1" value-ref="list1" />
    <entry key="entry2" value-ref="list2" />
    ...
</util:map>

このマップを次のように呼び出す

<bean id="myBean" class="com.sample.beans">
    <property name="mapArray" ref="emailMap" />
</bean>

これが入力されているかどうかを確認するテストケースを作成しましたが、これが呼び出されている場所に a を追加し、Map.isEmpty()常に true を返します。つまり、マップにデータが入力されていません。案内していただけますか?

   public class beans()
    {
    Map<String, List<String>> mapArray=  new HashMap<String,ArrayList<String>>();

        public void setMapArray(Map<String, List<String>> map)
        {
            this.mapArray= map;
        }

        public Array<String, List<String>> getMapArray()
        {
            return mapArray;
        }

    public void makeObject(String key)
            throws Exception {

        System.out.println(mapArray.isEmpty());

    }

    }

テスト ケースは関数 makeobject を呼び出します。ここで返される値は常に true であり、TEST です。

public class testing{

@Test(enabled=true)
public void call1() throws {

ApplicationContext context = new ClassPathXmlApplicationContext("call.the.xml");
BeanFactory factory = context;
KeyedPoolFactory test = (KeyedPoolFactory) factor.getBean("myBean");

// CALLED MakeObject here. So the make object is being called for sure since it returning true for isEmpty();

}
4

0 に答える 0