Java Mock-swagger自动生成的api类
我有一些由Swagger自动生成的API客户端,为了简单起见,假设我有(这些是自动生成的):Java Mock-swagger自动生成的api类,java,unit-testing,mockito,swagger,Java,Unit Testing,Mockito,Swagger,我有一些由Swagger自动生成的API客户端,为了简单起见,假设我有(这些是自动生成的): ApiClient我创建了一个简单的应用程序,它支持使用Mockito将Swagger生成的存根作为服务端点(在本地端口上) 实现风格和代码生成设置将影响工作是否正常,但至少这是一个起点。请随时提交问题和/或PRs以支持您的用例。您是否可以为ApiUtils类添加替代构造函数或userApi的setter?@DawoodibnKareem如果这样做,我将仅为测试目的添加它。我不希望添加一个我不会在实际
- ApiClient我创建了一个简单的应用程序,它支持使用Mockito将Swagger生成的存根作为服务端点(在本地端口上)
实现风格和代码生成设置将影响工作是否正常,但至少这是一个起点。请随时提交问题和/或PRs以支持您的用例。您是否可以为ApiUtils类添加替代构造函数或userApi的setter?@DawoodibnKareem如果这样做,我将仅为测试目的添加它。我不希望添加一个我不会在实际生产中使用的方法。如果代码更易于测试,那么它就更易于维护,这是一个双赢的结果。您不应该羞于添加提高代码可测试性的人工制品。public class ApiUtils { private UserApi userApi; public ApiUtils(final ApiClient apiClient) { userApi = new UserApi(apiClient); } // Methods here }
public class ApiUtilsTest { @Mock private ApiClient apiClient; @Mock private UserApi userApi; @InjectMock private ApiUtils apiUtils; @Before public void setUp() { MockitoAnnotations.initMocks(this); apiUtils = new ApiUtils(apiClient); } @Test public void testSomething() { when(userApi.doSomething).thenReturn(myMock); apiUtils.someMethodThatUsesApiUser ... } }