当前位置: 首页 > 知识库问答 >
问题:

如何使用Quarkus/RestAssured只为一个测试用例注入mock

张逸清
2023-03-14

我试图使用REST Sandured测试一个REST控制器(使用Quarkus)endpoint。我想模拟一个注入到控制器中的类(最好是用Mockio),但只用于我的一个测试。或者每个测试用例获得不同的行为,而不必为每个测试提供单独的类。我不知道该怎么做?

我从文档中看到过这样做:

@Mock
@ApplicationScoped 
public class MockExternalService extends ExternalService {

    @Override
    public String service() {
        return "mock";
    }
}
    @Mock
    public TableExtractorService tableExtractorServiceMock = Mockito.mock(TableExtractorService.class);;
InputPart filePart = Mockito.mock(InputPart.class);
        Mockito.when(tableExtractorServiceMock.Extract(anyObject())).thenThrow(IOException.class);
        final InputStream inputStream = filePart.getBody(InputStream.class, null);
given()
                .multiPart("file", inputStream)
                .when().post("/document")
                .then()
                .statusCode(500);

共有1个答案

冀永寿
2023-03-14

根据Quarkus测试文档,您可以使用o@QuarkusMock或@injectMock进行测试。

 类似资料:
  • 问题内容: 我想对用Apache CXF编写的RESTful接口进行单元测试。 我使用ServletContext来加载一些资源,所以我有: 如果我将其部署在Glassfish上,则会注入ServletContext,并且它会按预期工作。但是我不知道如何将ServletContext注入我的服务类中,以便可以使用JUnit测试对其进行测试。 我使用Spring 3.0,JUnit 4,CXF 2.

  • 我有一个jsf spring应用程序,并使用mockito进行单元测试。在模拟中运行测试时,我一直得到。对于不存在。 要嘲弄的方法 我的JUnit测试是用注释的

  • 我有一个已有的名为Legacy的类,它大部分是用旧学校的单例模式编写的。现在我想介绍一个新的领域,我想使用Guice。Legacy本身不受Guice控制,它由另一个服务类使用(在服务类内部,它调用Legacy类的getInstance()来检索Legacy对象),并且该服务类是使用Guice注入器创建的。 我尝试的是将方法注入到Legacy类中 并且在服务的模块文件中,我绑定了NewField对象

  • 我是新手。我使用Gradle1.10和Ubuntu13。 我想知道是否有任何命令只执行一个单元测试类,类似于SBT中的。

  • 我有以下课程: 、 和 实现了一个通用接口。然后,在我的服务中,我自动连接类并获取地图。 有没有办法只自动连接地图,从而直接使用地图中的值?

  • 我想用Jest做一个测试。 我使用