4

在我的测试类 (CUT) - 一个 ejb - 我有一个私有方法“getConnection”。我想测试另一种 CUT 方法,但这种方法会提前失败。

我尝试如下所示,但“调用”是错误的。我不想调用该方法,我想存根它。但是怎么做?(“连接”是一个存根)

new NonStrictExpectations() {
  {
    invoke(archivingBean, "getConnection");result = connection;
  }
};
archivingBean.moveCreditBasic2Archive(new Date());
4

1 回答 1

7

您的测试是正确的,只是它缺少模拟类型的声明。在本例中为 EJB 类。

通常,模拟类型被完全模拟(所有方法)。@Mocked MyEJB archivingBean例如,在这种情况下,您可以为测试方法声明一个参数。

另一方面,对于部分NonStrictExpectations(Object...)模拟,您可以使用构造函数,如下所示:

new NonStrictExpectations(archivingBean) {{ // <== note the argument here
    invoke(archivingBean, "getConnection"); result = connection;
}};
于 2013-06-20T18:12:40.060 回答