Jakarta ee 如何在JEE6应用程序中存根外部接口以进行测试?
我需要在JEE6应用程序中测试一个外部接口。 根据我所做的研究,似乎有3种选择Jakarta ee 如何在JEE6应用程序中存根外部接口以进行测试?,jakarta-ee,testing,mocking,Jakarta Ee,Testing,Mocking,我需要在JEE6应用程序中测试一个外部接口。 根据我所做的研究,似乎有3种选择 使用替代品 使用@注释 使用Mockito 哪个选项最适合使用?如果您正在进行单元测试,您应该首先尝试使用伪造的。只需从UI中提取接口并将其作为伪接口实现即可。 例如: 您将构建假: class FakeUI implements MyUI { @Override void displayText(String text) { myFieldVariable = text; }
哪个选项最适合使用?如果您正在进行单元测试,您应该首先尝试使用伪造的。只需从UI中提取接口并将其作为伪接口实现即可。 例如: 您将构建假:
class FakeUI implements MyUI {
@Override
void displayText(String text) {
myFieldVariable = text;
}
}
最后一个是测试的内部类,它可以执行以下操作:
@Test
public itShouldDisplayHello() {
myBean.print("hello")
assertEquals("hello", myFieldVariable);
}
就是这样,你甚至不需要模拟,简单的旧java。这是一个单元测试、集成测试还是什么?这将是一个集成测试,所以我不想测试外部API,对吧?我应该把它删掉,因为我们不开发,而且有单元测试覆盖了该API的行为。我知道这个问题有点主观,但我在寻找最佳实践。Mockito对我来说似乎是最好的选择,因为它更简单,我不必在arquillian中通过部署不同的beans.xml或添加@beans来更改部署设置
@Test
public itShouldDisplayHello() {
myBean.print("hello")
assertEquals("hello", myFieldVariable);
}