Java 单元测试生成器对象的最佳实践?
关于二传手/接球手是否应该进行单元测试,存在着很大的争论 范例 我相信builder对象属于同一对话。我想知道对构建器对象进行单元测试的最佳实践。这是我的想法 一,。确认可以创建生成器对象 二,。确认输出反映输入 iii.确认省略的构造将引发异常(如果需要) 此外,如果实例化另一个对象需要builder对象,那么还需要创建一个测试来确认第二个对象是否使用给定的builder实例化,这有意义吗?任何对我遗漏或应该省略的内容的批评都将受到赞赏Java 单元测试生成器对象的最佳实践?,java,android,unit-testing,junit,Java,Android,Unit Testing,Junit,关于二传手/接球手是否应该进行单元测试,存在着很大的争论 范例 我相信builder对象属于同一对话。我想知道对构建器对象进行单元测试的最佳实践。这是我的想法 一,。确认可以创建生成器对象 二,。确认输出反映输入 iii.确认省略的构造将引发异常(如果需要) 此外,如果实例化另一个对象需要builder对象,那么还需要创建一个测试来确认第二个对象是否使用给定的builder实例化,这有意义吗?任何对我遗漏或应该省略的内容的批评都将受到赞赏 @RunWith(AndroidJUnit4.clas
@RunWith(AndroidJUnit4.class)
public class MyBuilderTest {
private Context mContext;
private ApiClient mApiClient;
private Profile mProfileBuilder;
private ProfilePojo mProfileSampleResponse;
@Before
public void setUp() {
mContext = InstrumentationRegistry.getTargetContext();
mProfileSampleResponse= new Gson().fromJson(Utils.getLocalJsonFile(mContext,
R.raw.profile_info), ProfilePojo.class);
}
@Test
public void checkLocalProfileResponse() {
assertNotNull(mProfileSampleResponse);
}
@Test
public void checkProfileBuilder() {
mProfileBuilder = new Profile.ProfileBuilder()
.setFirstName(mProfileSampleResponse.firstName)
.setLastName(mProfileSampleResponse.lastName)
.isVerified(mProfileSampleResponse.isVerified)
.create();
assertNotNull(mProfileBuilder);
assertNotNull(mProfileBuilder.getFirstName());
assertNotNull(mProfileBuilder.getLastName());
assertEquals(mProfileSampleResponse.isVerified, mProfileBuilder.getIsVerified);
assertEquals(mProfileSampleResponse.firstName, mProfileBuilder.getFirstName);
assertEquals(mProfileSampleResponse.lastName, mProfileBuilder.getLastName);
}
@Test
public void checkApiClientBuilder() {
mApiClient= new ApiClient(mContext, mProfileBuilder);
assertNotNull(mApiClient);
}
}
在我的例子中,我还需要测试请求和响应。我使用ProfileBuilder生成的配置文件信息可以传递到ApicClient,ApicClient将为我发出请求。所有这些都应该在一个测试类中吗