我有一个 .ftl 文件,我在其中创建了一个具有创建和搜索功能的表单和按钮。我想编写用于创建项目和搜索项目的 junit 测试用例。遵循以下方法:
@Test
public void shouldCreateItem() throws Exception {
when(request.getParameter(CREATE_FORM)).thenReturn(CREATE);
button = Mockito.mock(Button.class);
doReturn(button).when(form).getButton(INSERT);
when(button.wasClicked()).thenReturn(true);
when(form.checkSyntax()).thenReturn(true);
IntegerFormField id = new IntegerFormField("id", true);
form.add(id);
Map<IntegerFormField, Integer> formValues = new HashMap<>();
formValues.put(id, 123456 );
form.fillFromRequest(formValues);
MainClass.createItem(db, form, CREATE_FORM);
Test test = test.getId(db, 123456)
assertNotNull(test);
}
当我将值放入 hashMap 并以表单形式发送并执行测试用例时,它会给出空指针异常。当我调试测试用例时,我发现 id=123456 的值未设置并且为空。
在主类中获取 ID 的值为 null,如下所示:
Integer id = form.getIntegerFormField(ID).getVInteger();