2013-12-12 49 views
0

以下代码返回期望验证失败: 代码是什么? 有人可以帮我什么,我在那里失踪?java.lang.AssertionError:验证期望失败:jUnit4 TestCase

public class DAOImplTest { 

    private DAOImpl dao; 
    private JdbcTemplate mockJdbcTemplate; 

    @Before 
    public void before() { 
     dao = new DAOImpl(); 

     mockJdbcTemplate = createMock(JdbcTemplate.class); 
     dao.setJdbcTempate(mockJdbcTemplate); 
    } 

    @After 
    public void after() { 
     dao = null; 
    } 

    @SuppressWarnings("unchecked") 
    @Test 
    public void methReturnsWhenOrgIdsAndGuidFound(){ 
     final String expectedOrgIds = "d514d112566e"; 
     final String expectedGUID = "one"; 

     expect(mockJdbcTemplate.queryForObject(eq(SSOSASguidDAOImpl.GET_GUID_FOR_ORG_IDS), 
       (RowMapper<String>) anyObject(), eq(expectedGUID), eq(expectedOrgIds))).andReturn(expectedOrgIds); 

     replay(mockJdbcTemplate); 

//  verify(mockJdbcTemplate, expectedOrgIds); 
     verify(mockJdbcTemplate); 

     assertNotNull(expectedOrgIds); 
     assertEquals("d514d112566e", expectedOrgIds); 
    } 

} 

想知道为什么它会在验证时抛出一个错误?

+0

确保您的expect()方法被调用 –

回答

1

拨打电话replay后应该打电话预期的方法,在你的情况下,你应该用适当的参数调用mockJdbcTemplate.queryForObject();方法;在调用verfiy方法之前。

+0

我会添加您应该调用正在测试的'dao',以便它调用mockJdbcTemplate – dkatzel

+0

这就是我卡住的地方。我该怎么做如果你可以编辑代码? – Thunder