2

我的单元测试在此迁移过程之前运行正常,但在迁移过程之后却没有。没有代码更改,我这边没有进行单元测试更改。在 Wicket 迁移 7.x 指南中,我没有注意到与此相关的任何更改。

单元测试失败的原因可能是什么?

在代码中我有:

private final DropDownChoice<ModificationSource> sourceChoice = createModificationSourceDropDown("source",
        new PropertyModel<ModificationSource>(this, "selectedSource"));

private DropDownChoice<ModificationSource> createModificationSourceDropDown(final String id,
        final IModel<ModificationSource> model) {
    List<ModificationSource> sources = modificationSourceService.findAll();
    DropDownChoice<ModificationSource> choice = new DropDownChoice<ModificationSource>(id, model, sources,
            new ModificationSourceChoiceRenderer());
    choice.setRequired(true);
    choice.setNullValid(false);
    return choice;
}

我还添加了 DropDownChoice 组件以形成:

form.add(sourceChoice);

在单元测试中,我有:

FormTester formTester = tester.newFormTester("form");
formTester.select("source", 0);

在我的单元测试中,我收到源尚未设置的错误。使用应用程序时也存在同样的问题,所以这不是单元测试问题,而是代码问题。

也许在 Wicket 6.x -> Wicket 7.x 中发生了一些变化,导致此问题发生......?也许我现在应该以不同的方式使用 DropDownChoice 组件。

附言。我在代码的其他地方也有 DropDownChoice 失败。例如,在迁移到 7.0 并且我的单元测试失败后,似乎从其他地方的 DropDownChoice 选择值根本不会开始加载数据。

4

0 回答 0