पर Series of Effective Mockito articles आप मजाक के साथ संयोजन में उपयोगी लग सकते OpenEJB में कुछ समर्थन नहीं है।
ईजेबी 3.0 एंबेडेड ईजेबीसीओन्टैनर एपीआई के विकल्प के रूप में, आप बस कोड में अपना ऐप बना सकते हैं।
import junit.framework.TestCase;
import org.apache.openejb.jee.EjbJar;
import org.apache.openejb.jee.StatelessBean;
import org.apache.openejb.junit.ApplicationComposer;
import org.apache.openejb.junit.Module;
import org.junit.Test;
import org.junit.runner.RunWith;
import javax.ejb.EJB;
@RunWith(ApplicationComposer.class)
public class ProcessorBeanTest extends TestCase {
@EJB
private ProcessorBean processorBean;
@Module
public EjbJar beans() {
EjbJar ejbJar = new EjbJar();
ejbJar.addEnterpriseBean(new StatelessBean(ProcessorBean.class));
ejbJar.addEnterpriseBean(new StatelessBean(MockDao.class));
return ejbJar;
}
@Test
public void test() throws Exception {
// use your processorBean
}
}
यहां हम ApplicationComposer
द्वारा संचालित एक टेस्टकेस देखते हैं। यह एक जुनीट टेस्ट रनर के लिए एक साधारण रैपर है जो @Module
विधियों की तलाश करता है जिसका उपयोग आपके ऐप को परिभाषित करने के लिए किया जा सकता है।
यह वास्तव में ओपनईजेबी ने वर्षों के लिए अपने सभी आंतरिक परीक्षण किए हैं और हमने पिछले कुछ रिलीज (3.1.3 के बाद से) में खोलने का फैसला किया है। यह शक्तिशाली और बेहद तेज़ से परे है क्योंकि यह क्लासपाथ स्कैनिंग और तैनाती के कुछ भारी हिस्सों में कटौती करता है।
Maven निर्भरता तो ऐसा दिखाई देगा:
<dependencies>
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>javaee-api</artifactId>
<version>6.0-3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<!--
The <scope>test</scope> guarantees that none of your runtime
code is dependent on any OpenEJB classes.
-->
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>openejb-core</artifactId>
<version>4.0.0-beta-1</version>
<scope>test</scope>
</dependency>
</dependencies>
स्रोत
2012-01-03 18:02:15
बहुत दिलचस्प सुविधा। * ओपन ईजेबी के बारे में * नहीं पता था - साझा करने के लिए धन्यवाद! –
@ डेविड बिल्विन इस मामले में, मॉकडाओ.क्लास एक डेवलपर है जो डीएओ के अधिकार को नकली लागू करता है? – Bala
@ बाला बिल्कुल। तो सैद्धांतिक रूप से मॉकडाओ एक दृढ़ता विफलता या कुछ को फिक्र करने का अपवाद फेंक सकता है, या एक विशिष्ट इकाई, आदि को वापस करने के लिए कड़ी मेहनत कर सकता है। स्टेटिक इनर क्लास ठीक काम करते हैं, इसलिए मॉकडाओ को टेस्ट केस में सही तरीके से परिभाषित किया जा सकता है। ओपनईजेबी में अधिकांश यूनिट परीक्षणों में स्थैतिक आंतरिक वर्ग "परीक्षण" सेम का समूह होता है। परीक्षण सेम (उर्फ नकली सेम), छोटे होते हैं और उन्हें एक साथ रखना अच्छा होता है। –