传递enum得到了org.joor.ReflectException:java.lang.NoSuchFieldException:field()

时间:2017-11-07 08:57:36

标签: java reflection enums

我在函数中传递枚举时遇到错误(org.joor.ReflectException:java.lang.NoSuchFieldException:service()),就像没有字段服务一样。我的枚举不是静态的这是一个问题吗?我真的没有看到代码中的问题。我有两个enum class one从另一个中获取值。

public enum Modules {CONNECTOR_CLIENT("E", "A", "C");
public final String section;
public final String service;
public final String module;

Modules(String service, String section, String module) {
    this.service = service;
    this.section = section;
    this.module = module;
}}


public enum ModuleData {CONNECTOR_CLIENT(Modules.CONNECTOR_CLIENT.get(), ModulesLinks.CONNECTOR_CLIENT.get(), ModuleLogs.CONNECTOR_CLIENT.get()),;

public final LinkedHashMap menuModules;
public final LinkedHashMap link;
public final Boolean oldModule;

ModuleData(LinkedHashMap menuModules, LinkedHashMap link, Boolean oldModule) {
    this.menuModules = menuModules;
    this.link = link;
    this.oldModule = oldModule;
}

public String module() {
    return menuModules.get("module").toString();
}

public String link() {
    return String.valueOf(link.get("link"));
}

public String service() {
    return menuModules.get("service").toString();
}

public String section() {
    return menuModules.get("section").toString();
}

public Boolean newModule() {
    return oldModule;
}}

在课堂上运行

    @Step("({moduleData.service()}) ({moduleData.module()})")public void moveToModule(ModuleData moduleData, String browser) throws Exception {
    try {

        log.info(moduleData.service() + " " +
                moduleData.section() + " " +
                moduleData.module() + " " + moduleData.link());}}moveToModule(ModuleData.CONNECTOR_CLIENT, testSuite);

1 个答案:

答案 0 :(得分:0)

已解决:通过框架Allure和@Step annotanion进行策划。