में शामिल हों मेरे पास परीक्षण कार्यक्रम के निष्पादन के लिए गैर स्थैतिक विधि कॉल की संख्या की गणना करने के लिए दो अलग-अलग पहलू वर्ग हैं। पहला पहलू मायने रखता है पर "कहते हैं" में शामिल होने अंक तरीके:निष्पादन बनाम। कॉल प्वाइंट
pointcut methodCalls() : call (!static * test..*(..));
before(): methodCalls() {
counter.methodCallCounter();
}
जबकि दूसरा पहलू "निष्पादन" पर तरीकों में गिना जाता है अंक में शामिल होने:
pointcut methodCalls() : execution (!static * test..*(..));
before(): methodCalls() {
counter.methodCallCounter();
}
methodCallCounter() काउंटर कक्षा में एक स्थिर तरीका है।
छोटे परीक्षण कार्यक्रम के लिए विधि कॉल की संख्या समान है। लेकिन जब मैं एक बड़े कार्यक्रम के साथ परीक्षण कार्यक्रम बदलता हूं तो दूसरे पहलू वर्ग (निष्पादन बिंदुक के साथ) में कॉल कॉल की संख्या कॉल पॉइंटकट के साथ पहलू वर्ग में विधि कॉल की संख्या से अधिक है। यह उचित है क्योंकि कॉल जॉइन पॉइंट सुपर के साथ किए गए कॉल नहीं चुनता है और इसलिए उन्हें गिनता नहीं है।
हालांकि, मुझे एक ऐसे मामले का सामना करना पड़ा जहां प्रोग्राम के विशिष्ट निष्पादन के लिए "कॉल पॉइंटकट" के साथ पहलू वर्ग में गैर-स्थैतिक विधि कॉल संख्या "निष्पादन बिंदु" के साथ पहलू वर्ग में विधि कॉल की संख्या से अधिक थी । मुझे कोई व्याख्या नहीं मिल रही है कि यह क्यों हो रहा है। दूसरी स्थिति के कारण के बारे में कोई विचार सराहना की है।
सुनिश्चित नहीं है ... मैं मतभेदों के बारे में कुछ जानकारी प्रिंट करने की सिफारिश करता हूं। शायद 'thisJoinPoint' ऑब्जेक्ट को प्रिंट करें। –