【发布时间】:2013-08-19 12:53:05
【问题描述】:
当我为 Spring 应用程序运行测试用例(Junit)时,我遇到了这个错误。
我搜索了这个问题,我得到的信息是每当发生延迟初始化并且我的应用程序在会话关闭时尝试获取二级数据(对象分离)然后发生此错误,我们无法将初始化设置为 EAGER作为其性能问题。
我的测试类包含:
@RunWith(SpringJUnit4ClassRunner.class)
public class MyTestClass extends AbstractControllerTest {
@Rule
public TestName testMethodName = new TestName();
@Before
public void setUp() throws Exception
{
super.setUp();
}
@After
public void tearDown() throws Exception
{
super.tearDown();
}
@Test
public void myTestMethod ()
{
assertTrue("Response Validating",validate(baseEntity,perform()));
}
}
有没有办法可以把方法 assertTrue("Response Validating",validate(baseEntity,perform()));在事务中可以与当前会话或新会话绑定,以便我的分离对象成为持久对象,然后我的应用程序也可以获得二级数据。我搜索了这个问题,并在链接上找到了解决方案:http://www.jroller.com/RickHigh/entry/hibernate_spring_simulating_an_opensessioninviewfilter 但此链接不符合我的要求,因为它需要在其上创建事务的目标对象。
【问题讨论】:
-
如果您有解决方案,请将答案标记为已接受。