当我为 Spring 应用程序运行测试用例(Junit)时,我遇到了这个错误。
我搜索了这个问题,我得到的信息是每当发生延迟初始化并且我的应用程序在会话关闭时尝试获取二级数据(对象分离)然后发生此错误,我们不能像它的性能一样进行初始化问题。
我的测试类包含:
@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 但此链接不满足我的要求,因为它需要在其上创建事务的目标对象。