【问题标题】:EasyMock Testing Void With RunnableEasyMock 使用 Runnable 测试 Void
【发布时间】:2013-07-22 17:11:41
【问题描述】:

我正在尝试测试以下类(我省略了实现)

public class UTRI implements UTR {
    public void runAsUser(String userId, Runnable r);
}

这就是我会使用它的方式:

UTRI.runAsUser("User1", new Runnable () {
    private void run() {
    //do whatever needs to be done here.

    }
});

问题是,我不知道如何使用 EasyMock 来测试返回 void 的函数。那我也不太熟悉一般的测试(刚出校门!)。有人可以帮我解释一下我需要做什么来解决这个问题吗?我正在考虑让 UTRI 成为一个模拟,然后再做 expectlastcall,但实际上,不确定。

【问题讨论】:

    标签: testing easymock


    【解决方案1】:
    public class UTRITest {
    
        UTRI utri = new UTRI();
    
        @Test
        public void testRunAsUser() {
            // Create Mocks
            Runnable mockRunnable = EasyMock.createMock(Runnable.class);
    
            // Set Expectations
            **mockRunnable.run();
            EasyMock.expectLastCall().once();**
    
            EasyMock.replay(mockRunnable);
            // Call the method under test
            utri.runAsUser("RAMBO", **mockRunnable**);
    
            // Verify if run was called on Runnable!!
            EasyMock.verify(mockRunnable);
        }    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-27
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      相关资源
      最近更新 更多