草庐IT

test_client

全部标签

java - CXF RESTful Client - 如何在没有 Spring 的情况下进行基本的 http 身份验证?

我熟悉使用Jersey创建RESTfulweb服务服务器和客户端,但由于classloadingissues,我正在尝试将Jersey客户端转换为CXF。我相信我想使用以HTTP为中心的客户端,但我们不使用Spring。我们需要使用基本的HTTP身份验证。userguide有这个例子:WebClientclient=WebClient.create("http:books","username","password","classpath:/config/https.xml");第一个参数不是URI字符串。它是Spring使用的格式吗?这种方法只能用于使用Spring创建WebClie

java - 使用 PATCH 和 Jersey Client API 进行单元测试

我正在使用Jersey实现RESTAPI。对于PATCH(部分更新),我实现了自己的PATCH自定义实现,因为Jersey不支持它。现在我正试图弄清楚如何围绕该实现编写功能测试。我正在将Jersey测试框架用于具有该支持的其他方法(PUT、POST、GET、DELETE)在该框架中可用。有没有一种方法可以扩展Jersey测试框架实现来为PATCH编写我的功能测试?如果没有,是否有任何其他可用的测试框架可用于测试我的JerseyPATCH实现?如果有人能提供任何示例,那就太好了。 最佳答案 假设您的实现包含这样的自定义注释import

java - Apache 或其他一些 CLIENT JAVA 实现是否支持 HTTP/2?

我正在寻找可以连接到基于HTTP/2的服务器的Java客户端。该服务器已经支持HTTP/2API。我没有看到最流行的ApacheHttp客户端https://hc.apache.org/仍然支持HTTP/2。Apache是否已经有一些支持Http/2的Java客户端实现?如果没有,是否有一些Java客户端支持连接到HTTP/2,最好是在Java7上? 最佳答案 Jetty的提供了两个HTTP/2Java客户端API。两者都需要Java8(或更好)和强制使用ALPN,如解释的那样here.低级API这些API基于HTTP2Client

java - 无法在 Spring Boot Test 1.5 中设置运行时本地服务器端口

我正在为我的应用程序使用SpringBoot1.5。在集成测试中,我想获取Web服务器的运行时端口号(注意:TestRestTemplate在我的情况下没有用。)。我尝试了几种方法,但似乎都不起作用。以下是我的方法。第一种方法@SpringBootTest(classes=TestConfig.class,webEnvironment=WebEnvironment.DEFINED_PORT)publicclassRestServiceTest{@LocalServerPortprotectedintport;在我的src/main/resources/config/applicatio

java - 使用 maven : run jar before tests and terminate after 进行集成测试

我有一个可运行的jar,我想在我的集成测试开始之前(在pre-integration-test上)在一个新进程中运行它,并在我的集成测试完成后让它终止(在集成后测试).我可以使用的东西之一是maven-antrun-plugin或exec-maven-plugin在pre-integration-test上启动新进程,但如何终止它?对于我想要实现的目标,也许有更好的解决方案?PS:我在Windows和Linux上构建我的项目,所以可移植性对我来说很重要。 最佳答案 您可以使用maven-process-plugin由BV开源以分别启

java - 如何在下面使用带有 Apache httpclient 的 jersey-client?

我正在为一个项目使用jersey-client,我想让Client使用来自Apachehttpclient库的HTTP客户端。我之前看到这是可能的。我正在使用Jersey2.20。 最佳答案 使用ApacheConnectorProvider.将实例传递给ClientConfig.connectorProvider()获取将在后台使用ApacheHTTP客户端的ClientConfig实例。使用以下依赖项:org.glassfish.jersey.connectorsjersey-apache-connector2.20这是一个工作

java - JUnit + Derby + Spring : drop in-memory db after every test

在我的单元测试中,我Autowiring了一些使用URL的数据源jdbc:derby:memory:mydb;create=true创建内存数据库。要删除内存中的Derby数据库,您必须连接:jdbc:derby:memory:mydb;drop=true我希望在每次测试后都发生这种情况,并从一个新的数据库开始。我如何使用Spring执行此操作? 最佳答案 HowtoshutdownDerbyin-memorydatabaseProperly给了我一个解决方案的提示:mydb.drop.url=jdbc:derby:memory:m

java - 在 gradle 的 eclipse 构建中拆分 main 和 test

今天我尝试将一个带有集成测试的项目从maven切换到gradle。一切正常,除了我在testng上遇到严重问题。该项目使用hibernate/JPA2进行数据库访问,并有几个依赖于test/resources/META-INF/persistence.xml中的持久性单元的测试。当我使用gradle运行测试套件时,一切正常。但是当我从eclipse运行xml(或任何测试类本身)时,它似乎试图使用main/resources/META-INF/persistence.xml。因为我的大部分工作都使用TDD,所以我确实需要从eclipse运行/调试测试。当我将持久性单元添加到生产persi

java - 在 JUnit 4 的@Before 中获取当前正在执行的 @Test 方法

我想在@Before中获取当前正在执行的测试方法,以便我可以获得应用于当前正在执行的方法的注释。publicclassTestCaseExample{@BeforepublicvoidsetUp(){//getcurrentmethodhere.}@Test@MyAnnotation("id")publicvoidsomeTest{//code}} 最佳答案 尝试TestName规则publicclassTestCaseExample{@RulepublicTestNametestName=newTestName();@Before

java - 如何仅跳过针对 "compile"和 "install"目标而不是 "test"目标的测试?

我有这样一种情况,我们的单元测试需要很长时间才能为我们的业务域项目执行,因为它将数据库设置为已知状态,然后继续执行每个步骤。我知道这可以通过命令行上的“-Dmaven.test.skip=true”来完成,但希望仅在项目的NetBeans中配置它,如果有人可以阐明如何在IDE中进行配置,则全局是可以接受的。如何将maven2配置为仅在调用“测试”目标时执行测试?即使调用“测试”目标(fromthemavendocos),使用以下命令也会禁用测试。org.apache.maven.pluginsmaven-surefire-plugin2.6true 最佳答案