/ / एंड्रॉइड ब्लूटूथ एडॉप्टर मॉकिंग - एंड्रॉइड, यूनिट-टेस्टिंग, मॉकिटो, एंड्रॉइड-ब्लूटूथ

एंड्रॉइड ब्लूटूथ एडाप्टर मॉकिंग - एंड्रॉइड, यूनिट-टेस्टिंग, मॉकिटो, एंड्रॉइड-ब्लूटूथ

मैं ब्लूटूथ एप्लिकेशन का परीक्षण करने की कोशिश कर रहा हूं, लेकिन ब्लूटूथ एडेप्टर वर्ग की नकली वस्तु बनाने का मेरा पहला कदम काम नहीं कर रहा है !!

मैं आसान नकली के साथ powermockito का उपयोग कर रहा हूँ।

 mBluetoothAdapter = (BluetoothAdapter)PowerMock.createMock(BluetoothAdapter.class);

यह विफल रहता है। निम्नलिखित स्टैक ट्रेस के साथ

java.lang.IllegalArgumentException: No visible constructors in class android.bluetooth.BluetoothAdapter
at org.easymock.internal.DefaultClassInstantiator.getConstructorToUse(DefaultClassInstantiator.java:94)
at org.easymock.internal.AndroidClassProxyFactory.createProxy(AndroidClassProxyFactory.java:48)
at org.easymock.internal.MocksControl.createMock(MocksControl.java:114)
at org.easymock.internal.MocksControl.createMock(MocksControl.java:88)
at org.easymock.internal.MocksControl.createMock(MocksControl.java:79)
at org.powermock.api.easymock.PowerMock.doCreateMock(PowerMock.java:2212)
at org.powermock.api.easymock.PowerMock.doMock(PowerMock.java:2163)
at org.powermock.api.easymock.PowerMock.createMock(PowerMock.java:89)
at com.xxx.blesimplesample.test.MainActivityTest.setUp(MainActivityTest.java:59)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1710)

किसी ने भी ब्लूटूथ ऐप मॉकिंग के लिए किसी भी नकली फ्रेमवर्क का उपयोग किया है? कोई भी सुझाव v मददगार होगा

उत्तर:

उत्तर № 1 के लिए 1

BluetoothAdapter Android ढांचे में घोषित किया गया है final, इसलिए जिस समय आपने यह प्रश्न पूछा था, यह न तो मजाक उड़ाया जा सकता था, न मॉकिटो के साथ और न ही रोबोइलेक्ट्रिक का उपयोग कर रहा था।

हालाँकि, तब से एंड्रॉइड यूनिट टेस्टिंग बहुत बदल गई है। उपकरणों के हाल के संस्करणों के साथ, जब आप इकाई परीक्षणों का निर्माण करते हैं तो उपकरण एक पैच उत्पन्न करते हैं android.jar सभी के साथ finalहटा दिया गया। यह सभी एंड्रॉइड कक्षाओं को मॉकिंग के लिए उपलब्ध कराता है। आजकल, यदि आप किसी भी ब्लूटूथ कोड का मजाक बनाना चाहते हैं, तो आप मानक तरीके से ऐसा कर सकते हैं। यदि आप नवीनतम साधनों में अद्यतन करते हैं तो कोड "पहले ही आजमाया हुआ" "बस काम" होगा ShadowBluetoothAdapter अब में बनाया वर्ग।