如何在测试中删除重复的代码?

问题描述 投票:0回答:1
@Test
public void testThis() throws IOException {
    getJsonFile("BE_Wine.json");
    mockProperties(BEL, "100", "sparkling", "5");
    responseItems = wineService.parseJsonTaxRules(element, requestDto);
    Assert.assertEquals(23.9119, responseItems.get(0).getDutyRate(), 0.0);
    Assert.assertEquals(23.9119, responseItems.get(1).getDutyRate(), 0.0);
}

@Test
public void testThis() throws IOException {
    getJsonFile("BE_Wine.json");
    mockProperties(BEL, "100", "sparkling", "12");
    responseItems = wineService.parseJsonTaxRules(element, requestDto);
    Assert.assertEquals(256.3223, responseItems.get(0).getDutyRate(), 0.0);
    Assert.assertEquals(256.3223, responseItems.get(1).getDutyRate(), 0.0);
}

private void getJsonFile(String path) throws IOException {
    element = getJson(path, new TypeReference<Element<AlcoholResult>>() {
    });
}

如何重构getJsonFile("BE_Wine.json")?我在同一个类中使用了4次,对于其他.json文件又使用了6次以上,并且当文件名更改时,我必须更改几次。

java duplicates refactoring
1个回答
-1
投票

您已经在私有方法中有了逻辑。而且它在认知上并不复杂。关于您关心的代码,我认为很好。

为了提高可读性,我要做的另一件事是不对变量元素使用引用传递。我将使用静态方法创建并返回对象,然后可以将其分配给变量

© www.soinside.com 2019 - 2024. All rights reserved.