मैं एंड्रॉइड अनुप्रयोगों का विकास कर रहा हूं लेकिन किसी यूनिट परीक्षण नहीं लिखा है। हाल ही में मैंने इसके बारे में जानना शुरू कर दिया और मेरे एंड्रॉइड अनुप्रयोगों का परीक्षण करने के लिए जुनीट का उपयोग करने की कोशिश की।एंड्रॉइड यूनिट परीक्षण: कक्षा को और अधिक टेस्ट करने योग्य कैसे बनाएं?
मुझे पता चला कि ज्यादातर बार मुझे एपीआई कॉल में बग मिलती है, लेकिन मैं अभी भी समझ नहीं पा रहा हूं कि उनके लिए यूनिट परीक्षण कैसे लिखें (& मूल कोड टेस्ट करने योग्य कैसे करें)।
मेरा पीछा समारोह के बारे में बताएं:
मैं एक समारोह कॉल setOffenceList चला रहा हूँ()। फ़ंक्शन के अंदर कई क्रियाएं हो रही हैं।
i) RestClient लोड करें और यूआरएल पास करें।
ii) JSON एपीआई के RestClient बात और) प्रतिक्रिया
ii मिल रहा onSuccess (स्ट्रिंग प्रतिक्रिया के अंदर प्रतिक्रिया हड़पने) समारोह
iii) एक सरणी
अंदर JSON डेटा और दुकान पार्सiv) मैं (किसी और सूची दृश्य में डेटा को दिखाएगा एक त्रुटि संदेश दिखाई देते हैं) सफलता तो
इस कोड है:
public class OffenceFrag extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_offence, container, false);
//run API call
setOffenceList();
return view;
}
private void setOffenceList() {
String url = Paths.SITE_URL ;
RestClient.get(url, null, new AsyncHttpResponseHandler() {
@Override
public void onStart() {
Toast.makeText(getActivity(), "Loading offences...", Toast.LENGTH_SHORT).show();
}
@Override
public void onSuccess(String response) {
//Parse JSON
JSONArray jsonArray;
try {
JSONObject jsonObj = new JSONObject(response);
if(jsonObj.getString("status").equalsIgnoreCase("Success")){
jsonArray = new JSONArray(jsonObj.getString("data"));
if(jsonArray.length() > 0){
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject row = jsonArray.getJSONObject(i);
OffenceORM off = new OffenceORM();
off.setOffenceId(row.getString("offence_id"));
off.setPhoto(row.getString("photo"));
off.setSubmittedBy(row.getString("submitted_by"));
offenceList.add(off);
}
}
//Success: Show the list view
setOffenceAdapter();
Toast.makeText(getActivity(), "Successfully Loaded", Toast.LENGTH_LONG).show();
} else {
//Failed: show error message
Toast.makeText(getActivity(), "There are no offences submitted under project", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
Log.e("exception", e.getMessage());
}
}
@Override
public void onFailure(Throwable error, String content) {
Log.e("failed", error.getMessage());
}
@Override
public void onFinish() {
}
});
}
}//end
मैं वास्तव में समझ नहीं पा रहा हूं कि मैं उपर्युक्त कोड की तरह कुछ परीक्षण फ़ंक्शन कैसे लिख सकता हूं।
क्या आप कृपया मुझे दिखा सकते हैं कि इस कोड को टेस्ट करने योग्य टुकड़ों में कैसे तोड़ना है और उन्हें यूनिट परीक्षण कार्यों को लिखना है?
बहुत बहुत धन्यवाद!
एक दृष्टिकोण एकीकरण परीक्षण लिखना होगा जो आरईएसटी एपीआई का उपयोग करता है। Http://stackoverflow.com/questions/10752/what-is-the-difference-between-integration-and-unit-tests देखें। एक यूनिट टेस्ट दृष्टिकोण में आप आम तौर पर 'लेआउट इन्फ्लैटर inflater, ViewGroup कंटेनर, बंडल सेवृत्तस्टेंसस्टेट' का नकल करेंगे, उन्हें 'ऑफेंसफ्रैग' पर पास कर दें। onCreateView() 'और जोर देकर कहते हैं कि ऑफेंसफ्रैग आपको – Kirby