Java 单元测试生成器对象的最佳实践?

Java 单元测试生成器对象的最佳实践?,java,android,unit-testing,junit,Java,Android,Unit Testing,Junit,关于二传手/接球手是否应该进行单元测试,存在着很大的争论 范例 我相信builder对象属于同一对话。我想知道对构建器对象进行单元测试的最佳实践。这是我的想法 一,。确认可以创建生成器对象 二,。确认输出反映输入 iii.确认省略的构造将引发异常(如果需要) 此外,如果实例化另一个对象需要builder对象,那么还需要创建一个测试来确认第二个对象是否使用给定的builder实例化,这有意义吗?任何对我遗漏或应该省略的内容的批评都将受到赞赏 @RunWith(AndroidJUnit4.clas

关于二传手/接球手是否应该进行单元测试,存在着很大的争论

范例

我相信builder对象属于同一对话。我想知道对构建器对象进行单元测试的最佳实践。这是我的想法

一,。确认可以创建生成器对象

二,。确认输出反映输入

iii.确认省略的构造将引发异常(如果需要)

此外,如果实例化另一个对象需要builder对象,那么还需要创建一个测试来确认第二个对象是否使用给定的builder实例化,这有意义吗?任何对我遗漏或应该省略的内容的批评都将受到赞赏

@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将为我发出请求。所有这些都应该在一个测试类中吗