如何为持久化和刷新异常编写单元测试

时间:2017-09-26 13:59:13

标签: java unit-testing persistence

我有以下代码:

try {
  em.persist(myObject);
  em.flush();
}
catch (Exception e) {
  System.out.println("An Exception occur when trying to persist and flush");
}

在测试中我使用Mockito模拟了我的EntityManager:

    @Mock
EntityManager mockEm;

但由于持续存在且刷新是无效的方法,我无法写出类似的东西:

when(mockEm.persist(anObject).then(doSomeThing);

我如何编写单元测试(使用JUnit)来模拟em.persist和em.flush,以便测试两种情况是否有异常? 感谢。

1 个答案:

答案 0 :(得分:0)

我想我们需要更多细节。现在,您可以执行以下操作:(它是一种伪代码)。

const renderSelectField = props => (
  <SelectField
    floatingLabelText={props.label}
    errorText={props.touched && props.error}
    {...props}
    onChange={(event, index, value) => props.onChange(value)}>
  </SelectField>
)


<Field name="favoriteColor" component={renderSelectField} label="Favorite Color">
  <MenuItem value={'ff0000'} primaryText="Red"/>
  <MenuItem value={'00ff00'} primaryText="Green"/>
  <MenuItem value={'0000ff'} primaryText="Blue"/>
</Field>