我正在使用Java 8,JUnit 4.12,Spring 4和Hibernate 5.2.12.Final。我想测试一个Hibernate方法,在其中更新一些行。方法看起来像这样
final CriteriaBuilder qb = m_entityManager.getCriteriaBuilder();
final CriteriaUpdate<FailedEvent> q = qb.createCriteriaUpdate(FailedEvent.class);
final Root<FailedEvent> root = q.from(FailedEvent.class);
q.where(qb.and( qb.equal(root.get(FailedEvent_.objectId), objectId) ));
q.set(root.get(FailedEvent_.flaggedForDelete), true);
affectedRows = m_entityManager.createQuery(q).executeUpdate();
return affectedRows > 0;
Run Code Online (Sandbox Code Playgroud)
我有以下JUnit测试来验证这一点
public class FailedEventDaoTest extends AbstractTransactionalJUnit4SpringContextTests
...
@Test
public final void testFlagForDeleteByObjectId()
{
final String eventId = "testId";
final FailedEvent event = failedEventDao.findByEventId(eventId);
Assert.assertFalse("A pre-condition fo this test is that an failed_event record with id \"" + eventId + "\" have a non-empty object id.", StringUtils.isEmpty(event.getObjectId()));
Assert.assertTrue(failedEventDao.flagForDeleteByObjectId(event.getObjectId())); …
Run Code Online (Sandbox Code Playgroud) 我尝试了这个但没有用:
minikube start --vm-driver=hyperkit --memory 8192 --mount \
--mount-string /home/user/app1:/minikube-host/app1 \
--mount-string /home/user/app2:/minikube-host/app2
Run Code Online (Sandbox Code Playgroud)
但仅/home/user/app2
被安装。