关于是否应该对setter / getter进行单元测试,存在着很大的争议。
示例 Should unit tests be written for getter and setters?
我相信构建器对象属于同一对话。我想了解单元测试生成器对象的最佳实践。这是我的想法。
i。确认可以创建构建器对象
ii。确认输出反映输入
iii。确认省略的构造将引发异常(如果需要)
此外,如果实例化另一个对象需要构建器对象,是否还创建一个测试以确认第二个对象使用给定的构建器实例化是否有意义?对我所缺少或应省略的任何批评都将受到赞赏。
@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构建的配置文件信息可以传递到ApiClient中,ApiClient会向我提出请求。所有这些都应该属于一个测试类吗?