如何模拟地图类和模拟返回map.size

时间:2018-11-22 09:01:17

标签: java junit

我正在提高覆盖率。因此,我尝试通过模拟地图尺寸来输入特殊条件,但是我没有这样做。此方法是否可以与诸如map.class之类的原始类型一起使用,因为我在其他类上使用了相同的方法并且它们可以正常工作?

Item i = new Item();
ItemTbl tbl = new ItemTbl();
tbl.setMerchantId(key.getMerchantId());
tbl.setBaseSku(key.getBaseSku().toUpperCase());
tbl.setOrigBaseSku(key.getBaseSku());
i.setItemTbl(tbl);
final Map<String, Item> existingItems = prepareExistingData(Arrays.asList(i), false, false);

Item existingItem;
existingItem = existingItems.get(tbl.getBaseSku());

if (existingItem == null) {
    return null; //original item api return 200 if item not found
}

if (existingItem.getShopItemMap() != null) {   
    if (existingItems.size() == 1) {
        //the thing I want to cover
    }
}

Junit测试:

new MockUp<Map<String, Item>>() {
    @Mock
    public int size() {
        return 2;
    };
};

fixture.delete(entity);

我注意到现存的项目被设置为final,但是我试图删除final,但是仍然无法正常工作。

1 个答案:

答案 0 :(得分:0)

我建议您专门嘲笑C:\Program Files\dotnet\sdk>dir /b 1.0.0 1.0.0-preview2-003131 2.1.500 NuGetFallbackFolder size()的行为。 看起来像这样:

existingItems