मैं @Aspect कक्षा के अंदर विधि कॉल का नकल करना चाहता हूं।

मेरे पास क्लास स्टूडेंट है।

public class Student{
public String getName()
{
//
}
}

I have an Aspect class 

@Aspect
@Component
public class StudentAspect{

@Autowired
B b;
@Around( // the Student class get method)
public void around(ProceedingJoinPoint joinPoint)
{
b.doSomething();
}
}

मैं मॉकिटो का उपयोग करके स्टूडेंटएस्पेक्ट का परीक्षण करना चाहता हूं। मैंने प्रोग्रामिक रूप से छात्र वर्ग के लिए प्रॉक्सी बनाया ताकि मैं छात्र एस्पेक्ट क्लास को ट्रिगर कर सकूं। हालाँकि, मैं क्लास बी ऑब्जेक्ट का मॉक नहीं कर पा रहा हूँ। क्या कोई कृपया यहाँ मदद कर सकता है।

0
ysn 27 मार्च 2020, 20:30

1 उत्तर

सबसे बढ़िया उत्तर

पहलुओं के परीक्षण के लिए आप AspectJProxyFactory का उपयोग कर सकते हैं। AspectJ-आधारित प्रॉक्सी फ़ैक्टरी, प्रॉक्सी के प्रोग्रामेटिक बिल्डिंग के लिए अनुमति देता है जिसमें AspectJ पहलू शामिल हैं।

उदाहरण:

@Test
public void testStudentAspect() {
    B testBean = new B();

    AspectJProxyFactory factory = new AspectJProxyFactory();
    factory.setTarget(testBean);

    CounterAspect myCounterAspect = new CounterAspect();
    factory.addAspect(myCounterAspect);

    ITestBean proxyTestBean = factory.getProxy();

    proxyTestBean.doSomething();

    //assert
}
0
Mebin Joe 8 अप्रैल 2020, 08:17