0

jMock 2.5.1のすべてのjarを追加しました

http://www.ibm.com/developerworks/opensource/library/os-eclipse-rmock/index.htmlをフォローしようとしている間

import org.jmock.Mock;
import org.jmock.cglib.MockObjectTestCase;
public class ServiceClassTest extends MockObjectTestCase {
    private ServiceClass serviceClass;
    private Mock mockCollaborator;
    private ICollaborator collaborator;

    public void setUp(){
        serviceClass = new ServiceClass();
        mockCollaborator = new Mock(ICollaborator.class);
    }

    public void testRunServiceAndReturnFalse(){
        mockCollaborator.expects(once()).method\
              ("executeJob").will(returnValue("failure"));
        collaborator = (ICollaborator)mockCollaborator.proxy();
        boolean result = serviceClass.runService(collaborator);
        assertFalse(result);
    }
}

しかし、それは動作しませんか?org.jmock.Mock を見つけることができず、代わりに Mockery を提案します。Mockery を使用してみましたが、引数を渡すことができないようです。

4

1 に答える 1

1

このチュートリアルでは、廃止された JMock 1 を使用しています。JMock 2 では、クラスは廃止され、ジェネリックMockに置き換えられました。Mockery

それ以外の

Mock mockCollaborator = new Mock(ICollaborator.class);

あなたがするだろう

ICollaborator mockCollaborator  = mockery.mock(ICollaborator.class);

mockerytype のフィールドですMockery

そのチュートリアルを完全に無視して、JMock ウェブサイトのチュートリアルを使用することをお勧めします。

于 2012-01-08T13:22:37.987 に答える