java - mock - 意外的期望 - 不知道我做错了什么

标签 java unit-testing junit junit4 jmock

我有一个具有以下接口(interface)的服务:

public interface accountsService {

    public accountRemovalModel purgeAccounts();
}

我必须遵循测试类(class):

我有一个具有以下接口(interface)的服务:

public interface AccountsService {

    public accountRemovalModel purgeAccounts();
}

我必须遵循测试类(class):

public class AccountsServiceTest extends BaseTestClass {

    private Mockery _m = new Mockery() {
    {
        setImposteriser(ClassImposteriser.INSTANCE);
    }};


    private accountsService _accountsService;

    @Before
    public void beforeTests() throws Exception {

        accountsService = _m.mock(AccountsService.class);
    }

    @Test
    public void testNoItemsToDeleteSuccess() throws Exception {

        // Return a simple AccountsRemovalModel
        // APPARENTLY THIS EXPECTATION IS UNEXPECTED?
        _m.checking(new Expectations() {{

            allowing(accountsService.purgeAccounts());
            will(returnValue(new accountRemovalModel(0,0)));
        }});

        accountsRemovalModel result = accountsService.purgeAccounts();

        Assert.assertEquals(0, result.getDeleteCount());
        Assert.assertEquals(0, result.getTotalCount());
    }
}

我收到以下错误:

AccountsServiceTest.testNoItemsToDeleteSuccess:23 » 预期意外...

非常感谢任何有关此问题的帮助 - 因为我在使其正常工作方面遇到了很大的问题!

最佳答案

您的语法稍有偏差 - 您需要在被模拟的对象周围加上括号(accountsService):

    _m.checking(new Expectations() {{

        allowing(accountsService).purgeAccounts();
        will(returnValue(new accountRemovalModel(0,0)));
    }});

关于java - mock - 意外的期望 - 不知道我做错了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42937153/

相关文章:

c# - 如何对电子邮件发送进行单元测试?

android - 在 Android Studio 中构建应用程序之前自动运行测试

java测试: accelerate time to test timeouts?

java - 如何将捕获的图像从自定义相机传递到另一个 Activity ?

java - 为什么我的 Java 应用程序将 30% 的时间花在年轻代 gc 上?

java - 在构造函数中使用自定义比较器

java - 我可以在使用 JUnit 测试的公共(public)方法中完全省略私有(private)方法吗?

java - 无法使用 Cygwin 从 Java 运行 C 程序

c# - Entity Framework Context 6.1.3 未刷新/销毁?

c++ - 如何在 Windows 上使用命令行运行 UnitTest++