రియాక్ట్ నేటివ్లో AsyncStorage సమస్యలను అర్థం చేసుకోవడం మరియు పరిష్కరించడం
దీన్ని చిత్రించండి: మీరు మీ రియాక్ట్ నేటివ్ ప్రాజెక్ట్ను ఎక్స్పో నుండి ఇప్పుడే ఎజెక్ట్ చేసారు, మీ యాప్ను తదుపరి స్థాయికి తీసుకెళ్లడానికి సిద్ధంగా ఉన్నారు. 🚀 కానీ మీరు iOS సిమ్యులేటర్లో అనువర్తనాన్ని అమలు చేసిన వెంటనే, మీరు నిరాశపరిచే లోపంతో స్వాగతం పలికారు— చాలా మంది డెవలపర్లకు, ఇది గోడను కొట్టినట్లు అనిపించవచ్చు.
ఎక్స్పో నుండి బేర్ రియాక్ట్ నేటివ్ వర్క్ఫ్లోకి మారుతున్నప్పుడు ఈ సమస్య చాలా సాధారణం. మార్పు కొత్త డిపెండెన్సీలు, స్థానిక కాన్ఫిగరేషన్లు మరియు తప్పిపోయిన లింక్లను పరిచయం చేస్తుంది, ఇది రన్టైమ్ లోపాలకు దారి తీస్తుంది. పర్యావరణ వ్యవస్థకు కొత్త లేదా స్థానిక మాడ్యూళ్ల గురించి తెలియని డెవలపర్లకు ఇది ప్రత్యేకంగా గమ్మత్తైనది.
నేను ఇలాంటి అనుభవాన్ని పంచుకుంటాను: నా ఎజెక్షన్ ప్రాసెస్లలో ఒకదానిలో, CocoaPods సెటప్లో తప్పిపోయిన దశ నా ప్రాజెక్ట్ ఊహించని విధంగా విచ్ఛిన్నం కావడానికి కారణమైంది. సమస్య సరిగ్గా లింక్ చేయని డిపెండెన్సీతో ముడిపడి ఉందని గ్రహించడానికి డీబగ్గింగ్ చేయడానికి గంటల తరబడి పట్టింది. పరిష్కారం స్పష్టమైనది కాదు, కానీ ఒకసారి నేను దానిని కలిసి చూస్తే, అది అర్ధమైంది. 😊
ఈ గైడ్లో, మేము ఈ లోపం యొక్క రహస్యాలను విప్పుతాము మరియు దాన్ని పరిష్కరించడానికి దశలవారీగా మీకు మార్గనిర్దేశం చేస్తాము. ఇది మీ CocoaPods సెటప్ని పరిష్కరించడం, కాష్లను క్లియర్ చేయడం లేదా డిపెండెన్సీలు సరిగ్గా ఇన్స్టాల్ చేయబడిందని నిర్ధారించుకోవడం గురించి అయినా, మీ యాప్ని తిరిగి ట్రాక్లోకి తీసుకురావడానికి మీరు ఇక్కడ ఆచరణాత్మక పరిష్కారాలను కనుగొంటారు. డైవ్ చేద్దాం!
| ఆదేశం | ఉపయోగం యొక్క ఉదాహరణ |
|---|---|
| npm start -- --reset-cache | యాప్ డెవలప్మెంట్ సమయంలో పాత లేదా పాడైన కాష్ చేసిన ఫైల్లు సమస్యలను కలిగించకుండా ఉండేలా మెట్రో బండ్లర్ కాష్ని క్లియర్ చేస్తుంది. స్థానిక మాడ్యూల్ లింకింగ్ సమస్యలతో వ్యవహరించేటప్పుడు ఇది ప్రత్యేకంగా ఉపయోగపడుతుంది. |
| npx react-native link @react-native-async-storage/async-storage | మీ రియాక్ట్ నేటివ్ ప్రాజెక్ట్కి AsyncStorage స్థానిక మాడ్యూల్ను లింక్ చేస్తుంది. ప్యాకేజీకి అవసరమైన స్థానిక కోడ్ మీ ప్రాజెక్ట్కి, ప్రత్యేకించి పాత రియాక్ట్ నేటివ్ వెర్షన్లకు సరిగ్గా కనెక్ట్ చేయబడిందని ఈ దశ నిర్ధారిస్తుంది. |
| pod install | మీ ప్రాజెక్ట్ Podfileలో జాబితా చేయబడిన iOS డిపెండెన్సీలను ఇన్స్టాల్ చేస్తుంది. iOS ప్లాట్ఫారమ్లలో AsyncStorage వంటి స్థానిక మాడ్యూళ్లను ఏకీకృతం చేయడానికి ఇది అవసరం. |
| await AsyncStorage.setItem(key, value) | AsyncStorageలో కీతో అనుబంధించబడిన విలువను నిల్వ చేస్తుంది. మీ అప్లికేషన్లో AsyncStorage సరిగ్గా పనిచేస్తుందో లేదో పరీక్షించడానికి ఇది చాలా కీలకం. |
| await AsyncStorage.getItem(key) | AsyncStorage నుండి నిర్దిష్ట కీతో అనుబంధించబడిన విలువను తిరిగి పొందుతుంది. డేటా నిల్వ మరియు పునరుద్ధరణ ఆశించిన విధంగా పనిచేస్తుంటే ధృవీకరించడానికి ఇది సాధారణంగా ఉపయోగించబడుతుంది. |
| jest | జావాస్క్రిప్ట్లో యూనిట్ పరీక్షలను వ్రాయడానికి మరియు అమలు చేయడానికి ఉపయోగించే టెస్టింగ్ ఫ్రేమ్వర్క్. ఈ సందర్భంలో, ఇది రియాక్ట్ నేటివ్ యాప్లోని AsyncStorage ఆపరేషన్ల యొక్క సరైన ప్రవర్తనను ధృవీకరిస్తుంది. |
| describe() | సమూహ సంబంధిత పరీక్షలకు ఉపయోగించే జెస్ట్ ఫంక్షన్. ఉదాహరణకు, ఇది మెరుగైన సంస్థ కోసం AsyncStorage ఇంటిగ్రేషన్కు సంబంధించిన అన్ని పరీక్షలను సమూహపరుస్తుంది. |
| expect(value).toBe(expectedValue) | పరీక్ష సమయంలో అంచనా వేసిన విలువతో విలువ సరిపోలుతుందని నిర్ధారిస్తుంది. AsyncStorage కార్యకలాపాల యొక్క ఖచ్చితత్వాన్ని ధృవీకరించడానికి ఉపయోగించబడుతుంది. |
| fireEvent | UI భాగాలతో వినియోగదారు పరస్పర చర్యలను అనుకరించే @testing-library/react-native నుండి ఒక ఫంక్షన్. AsyncStorage వినియోగాన్ని పరోక్షంగా పరీక్షించే ఈవెంట్లను ట్రిగ్గర్ చేయడానికి ఇది ఉపయోగపడుతుంది. |
| implementation project(':@react-native-async-storage/async-storage') | AsyncStorageని ప్రాజెక్ట్లో డిపెండెన్సీగా చేర్చడానికి Android బిల్డ్ కాన్ఫిగరేషన్కు Gradle కమాండ్ జోడించబడింది. పాత రియాక్ట్ నేటివ్ వెర్షన్లలో మాన్యువల్ లింక్ చేయడానికి ఇది అవసరం. |
రియాక్ట్ నేటివ్లో అసమకాలిక నిల్వ సమస్యలను అర్థం చేసుకోవడం మరియు ట్రబుల్షూటింగ్ చేయడం
అవసరమైన డిపెండెన్సీని ఇన్స్టాల్ చేయడం ద్వారా మొదటి స్క్రిప్ట్ ప్రారంభమవుతుంది, , npm ఉపయోగించి. రియాక్ట్ నేటివ్ AsyncStorageని కోర్ మాడ్యూల్గా చేర్చనందున ఇది కీలకమైన దశ. దీన్ని స్పష్టంగా ఇన్స్టాల్ చేయకుండా, అవసరమైన స్థానిక మాడ్యూల్ను కనుగొనడంలో యాప్ విఫలమవుతుంది, దీని వలన "NativeModule: AsyncStorage శూన్యం" ఎర్రర్ ఏర్పడుతుంది. అదనంగా, నడుస్తున్న iOS డిపెండెన్సీలు సరిగ్గా కాన్ఫిగర్ చేయబడిందని నిర్ధారిస్తుంది. ఈ దశను దాటవేయడం వలన తరచుగా నిర్మాణ లోపాలు ఏర్పడతాయి, ప్రత్యేకించి రియాక్ట్ నేటివ్ ప్రాజెక్ట్లలో స్థానిక లైబ్రరీలతో వ్యవహరించేటప్పుడు.
తర్వాత, స్క్రిప్ట్ మెట్రో బండ్లర్లను ఉపయోగిస్తుంది జెండా. ఈ కమాండ్ ప్రత్యేకించి కొత్త మాడ్యూళ్ళను ఇన్స్టాల్ చేసిన తర్వాత లేదా స్థానిక సెటప్లో మార్పులు చేసిన తర్వాత అసమానతలను కలిగించే కాష్ చేసిన ఫైల్లను క్లియర్ చేస్తుంది. కాష్ను క్లియర్ చేయడం వలన బండ్లర్ పాత ఫైల్లను అందించదని నిర్ధారిస్తుంది. ఉదాహరణకు, నేను తప్పుగా కాన్ఫిగర్ చేయబడిన డిపెండెన్సీతో ఇలాంటి సమస్యను ఎదుర్కొన్నప్పుడు, ఈ దశ దాన్ని త్వరగా పరిష్కరించడంలో సహాయపడింది మరియు గంటల కొద్దీ నిరాశ నుండి నన్ను రక్షించింది. 😅 ది కమాండ్ మరొక ముఖ్య అంశం-ఇది లైబ్రరీని మాన్యువల్గా లింక్ చేస్తుంది, అయినప్పటికీ రియాక్ట్ నేటివ్ యొక్క ఆధునిక సంస్కరణలు తరచుగా దీన్ని స్వయంచాలకంగా నిర్వహిస్తాయి.
AsyncStorage ఊహించిన విధంగా పనిచేస్తుందని జెస్ట్ టెస్ట్ స్క్రిప్ట్ ధృవీకరిస్తుంది. యూనిట్ పరీక్షలను రాయడం ద్వారా, డెవలపర్లు డేటా సరిగ్గా నిల్వ చేయబడి, తిరిగి పొందబడిందో లేదో తనిఖీ చేయవచ్చు. ఉదాహరణకు, నేను పని చేసిన ప్రాజెక్ట్లో, ఈ పరీక్షలు యాప్లో నిశ్శబ్దంగా విఫలమవుతున్న కాన్ఫిగరేషన్ లోపాన్ని గుర్తించాయి. నడుస్తోంది మరియు దాని తిరిగి పొందడం ద్వారా ధృవీకరించడం లైబ్రరీ సరిగ్గా లింక్ చేయబడిందని మరియు పని చేస్తుందని నిర్ధారిస్తుంది. ఈ విధానం యాప్ డేటా పెర్సిస్టెన్స్ లేయర్ స్థిరంగా ఉందని విశ్వాసాన్ని అందిస్తుంది.
చివరగా, పాత రియాక్ట్ నేటివ్ వెర్షన్లకు ప్రత్యామ్నాయ పరిష్కారం మాన్యువల్ లింకింగ్ను ప్రదర్శిస్తుంది. ఇది Gradle ఫైల్లను సవరించడం మరియు Androidకి ప్యాకేజీ దిగుమతులను జోడించడం వంటివి కలిగి ఉంటుంది . ఈ పద్ధతి పాతది అయినప్పటికీ, ఇది ఇప్పటికీ లెగసీ ప్రాజెక్ట్లకు ఉపయోగపడుతుంది. ఒక క్లయింట్ ఒకసారి పరిష్కరించడానికి పాత యాప్ని నాకు అందించాడు మరియు స్థానిక మాడ్యూల్లను అమలు చేయడానికి ఈ మాన్యువల్ దశలు అవసరం. ఈ స్క్రిప్ట్లు రియాక్ట్ నేటివ్ కాన్ఫిగరేషన్ యొక్క బహుముఖ ప్రజ్ఞను ప్రదర్శిస్తాయి, వివిధ ప్రాజెక్ట్ సెటప్లలో అనుకూలతను నిర్ధారిస్తాయి. 🚀 ఈ దశలతో, డెవలపర్లు AsyncStorage సమస్యలను పరిష్కరించగలరు మరియు వారి యాప్ డెవలప్మెంట్తో సజావుగా ముందుకు సాగగలరు.
రియాక్ట్ స్థానిక ప్రాజెక్ట్లలో AsyncStorage శూన్య దోషాన్ని పరిష్కరిస్తోంది
ఒక Node.js మరియు రియాక్ట్ నేటివ్ అప్రోచ్ లెవరేజింగ్ ప్యాకేజీ మేనేజ్మెంట్ మరియు కోకోపాడ్స్ ఇంటిగ్రేషన్
// Step 1: Install the AsyncStorage packagenpm install @react-native-async-storage/async-storage// Step 2: Install CocoaPods dependenciescd iospod installcd ..// Step 3: Clear Metro bundler cachenpm start -- --reset-cache// Step 4: Ensure React Native CLI links the modulenpx react-native link @react-native-async-storage/async-storage// Step 5: Rebuild the projectnpx react-native run-ios
యూనిట్ టెస్ట్లతో ఏకీకరణను పరీక్షిస్తోంది
రియాక్ట్ నేటివ్లో AsyncStorage ఇంటిగ్రేషన్ని ధృవీకరించడానికి Jestని ఉపయోగించడం
// Install Jest and testing utilitiesnpm install jest @testing-library/react-native// Create a test file for AsyncStorage// __tests__/AsyncStorage.test.jsimport AsyncStorage from '@react-native-async-storage/async-storage';import { render, fireEvent } from '@testing-library/react-native';describe('AsyncStorage Integration', () => {it('should store and retrieve data successfully', async () => {await AsyncStorage.setItem('key', 'value');const value = await AsyncStorage.getItem('key');expect(value).toBe('value');});});
ప్రత్యామ్నాయ పరిష్కారం: లెగసీ రియాక్ట్ స్థానిక సంస్కరణల కోసం మాన్యువల్ లింకింగ్
మాన్యువల్ కాన్ఫిగరేషన్ అవసరమయ్యే వెర్షన్ 0.60 దిగువన ఉన్న రియాక్ట్ నేటివ్ ప్రాజెక్ట్ల కోసం
// Step 1: Add AsyncStorage dependencynpm install @react-native-async-storage/async-storage// Step 2: Modify android/settings.gradleinclude ':@react-native-async-storage/async-storage'project(':@react-native-async-storage/async-storage').projectDir =new File(rootProject.projectDir, '../node_modules/@react-native-async-storage/async-storage/android')// Step 3: Update android/app/build.gradleimplementation project(':@react-native-async-storage/async-storage')// Step 4: Update MainApplication.javaimport com.reactnativecommunity.asyncstorage.AsyncStoragePackage;...new AsyncStoragePackage()
ఎజెక్టెడ్ ఎక్స్పో ప్రాజెక్ట్లలో సాధారణ స్థానిక మాడ్యూల్ లోపాలను పరిష్కరిస్తోంది
ఎక్స్పో-నిర్వహించిన వర్క్ఫ్లో నుండి బేర్ రియాక్ట్ నేటివ్ ప్రాజెక్ట్కి మారుతున్నప్పుడు, స్థానిక డిపెండెన్సీలను నిర్వహించడం ఒక ప్రధాన సవాలు. ది Expo మునుపు మీ కోసం దీన్ని నిర్వహించింది కాబట్టి లోపం ఏర్పడింది. ఎజెక్ట్ చేసిన తర్వాత, AsyncStorage వంటి డిపెండెన్సీలు సరిగ్గా ఇన్స్టాల్ చేయబడి ఉన్నాయని మరియు లింక్ చేయబడిందని నిర్ధారించుకోవడం చాలా అవసరం. ఇక్కడే iOSలోని CocoaPods మరియు మెట్రో బండ్లర్ కాషింగ్ కమాండ్లు వంటి సాధనాలు ఉపయోగపడతాయి, ఎందుకంటే అవి సాధారణ కాన్ఫిగరేషన్ సమస్యలను నివారిస్తాయి.
ఈ సమస్యను పరిష్కరించడంలో పట్టించుకోని అంశం ప్రాజెక్ట్ నిర్మాణాన్ని అర్థం చేసుకోవడం. ఎజెక్ట్ చేసిన తర్వాత, వంటి ఫైల్లు మరియు సరైన స్థానిక డిపెండెన్సీలు లోడ్ అవుతున్నాయని నిర్ధారించుకోవడం కోసం కీలకం. ఒక సాధారణ దృష్టాంతంలో తప్పిపోయిన లేదా కాలం చెల్లిన డిపెండెన్సీలు ఉంటాయి pack.json, ఇది CLIని మాడ్యూల్లను ఆటోలింక్ చేయకుండా నిరోధిస్తుంది. వంటి ఆదేశాలతో ప్రాజెక్ట్ను అప్డేట్ చేయడం మరియు pod install రన్టైమ్ లోపాలను నివారించడంలో కీలకం.
డీబగ్గింగ్ పరిసరాలు కూడా పాత్ర పోషిస్తాయి. Androidలో పరీక్షించడం కొన్నిసార్లు iOS-నిర్దిష్ట సమస్యలను దాటవేయవచ్చు, ఇది iOS-మాత్రమే డెవలపర్లకు ఎల్లప్పుడూ ఎంపిక కాదు. రెండు ప్లాట్ఫారమ్లలో పరీక్షించడం, అయితే, మీ యాప్ పటిష్టంగా ఉందని నిర్ధారిస్తుంది. ఉదాహరణకు, iOSలో గుర్తించబడని వారి సెటప్లోని అక్షర దోషాన్ని Android బహిర్గతం చేసిందని డెవలపర్ ఒకసారి కనుగొన్నారు. 🛠️ వీలైనప్పుడల్లా సిమ్యులేటర్లు లేదా రియల్ డివైజ్లు రెండింటిలో కాన్ఫిగరేషన్లను క్రమపద్ధతిలో పరీక్షించడం మరియు ధృవీకరించడంలో పరిష్కారం ఉంటుంది.
- ఎజెక్ట్ చేసిన తర్వాత AsyncStorage ఎందుకు శూన్యంగా చూపబడుతుంది?
- ఎజెక్షన్ తర్వాత ఎక్స్పో ప్రాజెక్ట్లలో డిపెండెన్సీ చేర్చబడనందున ఇది జరుగుతుంది. మీరు దీన్ని మాన్యువల్గా ఉపయోగించి ఇన్స్టాల్ చేయాలి .
- దీన్ని పరిష్కరించడానికి నేను Expoని మళ్లీ ఇన్స్టాల్ చేయాలా?
- లేదు, ఎక్స్పోను మళ్లీ ఇన్స్టాల్ చేయడం అనవసరం. స్థానిక మాడ్యూళ్లను లింక్ చేయడానికి మరియు ఇన్స్టాల్ చేయడానికి సరైన దశలను అనుసరించండి.
- AsyncStorage సరిగ్గా లింక్ చేయబడిందని నేను ఎలా నిర్ధారించుకోవాలి?
- ఆదేశాన్ని ఉపయోగించండి ఇది పాత రియాక్ట్ నేటివ్ వెర్షన్లలో లింక్ చేయబడిందని నిర్ధారించుకోవడానికి.
- ఈ సమస్యను పరిష్కరించడంలో CocoaPods పాత్ర ఏమిటి?
- స్థానిక iOS డిపెండెన్సీలను నిర్వహించడంలో CocoaPods సహాయపడుతుంది. నడుస్తోంది AsyncStorage స్థానిక మాడ్యూల్ iOSలో సరిగ్గా ఇన్స్టాల్ చేయబడిందని నిర్ధారిస్తుంది.
- "ఇన్వేరియంట్ ఉల్లంఘన" లోపాన్ని నేను ఎలా పరిష్కరించగలను?
- యాప్ సరిగ్గా నమోదు కానప్పుడు ఈ ఎర్రర్ ఏర్పడుతుంది. మీ యాప్ ఎంట్రీ ఫైల్ని తనిఖీ చేయండి మరియు యాప్ ఉపయోగించి రిజిస్టర్ చేయబడిందని నిర్ధారించుకోండి .
- మెట్రో కాష్ని క్లియర్ చేయడం ఈ సమస్యకు సహాయపడుతుందా?
- అవును, నడుస్తున్నాను బిల్డ్ల సమయంలో వైరుధ్యాలను కలిగించే కాష్ చేసిన ఫైల్లను క్లియర్ చేస్తుంది.
- జెస్ట్ పరీక్షలలో AsyncStorage సమస్యలు సంభవించవచ్చా?
- అవును, మీరు జెస్ట్ పరీక్షల కోసం AsyncStorageని మాక్ చేయాలి. సరైన పరీక్ష కోసం లైబ్రరీలను ఉపయోగించండి లేదా మాక్ సెటప్ను సృష్టించండి.
- దీన్ని పరిష్కరించడానికి నేను రియాక్ట్ నేటివ్ని అప్డేట్ చేయాలా?
- అవసరం లేదు. బదులుగా మీ రియాక్ట్ నేటివ్ వెర్షన్తో మీ డిపెండెన్సీలు అనుకూలంగా ఉన్నాయని నిర్ధారించుకోండి.
- పాత రియాక్ట్ నేటివ్ వెర్షన్ల కోసం నేను AsyncStorageని మాన్యువల్గా ఎలా లింక్ చేయాలి?
- సవరించు మరియు , ఆపై మీ అప్డేట్ చేయండి .
- ప్యాకేజీ.jsonలో తప్పిపోయిన డిపెండెన్సీలు ఈ లోపానికి కారణమవుతుందా?
- అవును, నిర్ధారించుకోండి మీ డిపెండెన్సీలలో జాబితా చేయబడింది.
- అన్ని దశలను అనుసరించిన తర్వాత కూడా సమస్య కొనసాగితే నేను ఏమి చేయాలి?
- మీ కాన్ఫిగరేషన్ను మళ్లీ తనిఖీ చేయండి, మీ డిపెండెన్సీలను అప్డేట్ చేయండి మరియు మీ యాప్ యొక్క తాజా ఇన్స్టాలేషన్ను పరీక్షించండి.
పరిష్కరించడం లోపం అనేది అన్ని డిపెండెన్సీలు సరిగ్గా ఇన్స్టాల్ చేయబడి మరియు లింక్ చేయబడిందని క్రమపద్ధతిలో నిర్ధారిస్తుంది. రన్నింగ్ వంటి సాధారణ దశలు మరియు మెట్రో కాష్ను క్లియర్ చేయడం వలన గణనీయమైన మార్పు వస్తుంది. ఈ పరిష్కారాలు సున్నితమైన ఏకీకరణను నిర్ధారిస్తాయి మరియు రన్టైమ్ వైఫల్యాలను నివారిస్తాయి.
మీ ప్రాజెక్ట్ సెటప్ను ఎల్లప్పుడూ రెండుసార్లు తనిఖీ చేయండి, ప్రత్యేకించి ఎక్స్పో నుండి ఎజెక్ట్ చేసిన తర్వాత. మీ యాప్ బిల్డ్ ఎన్విరాన్మెంట్ను అర్థం చేసుకోవడం iOS మరియు Android ప్లాట్ఫారమ్లలో సమస్యలను పరిష్కరించడంలో సహాయపడుతుంది. ఈ వ్యూహాలతో, మీరు డీబగ్గింగ్ సమయాన్ని ఆదా చేస్తారు మరియు రియాక్ట్ నేటివ్ ప్రాజెక్ట్లను నిర్వహించడంలో విశ్వాసాన్ని పొందుతారు. 😊
- డాక్యుమెంటేషన్ ఆన్ చేయబడింది రియాక్ట్ నేటివ్ కోసం: ఇన్స్టాలేషన్ మరియు వినియోగ మార్గదర్శకాల గురించి మరింత తెలుసుకోండి. GitHub: AsyncStorage
- పరిష్కారంపై మార్గదర్శకత్వం iOS రియాక్ట్ స్థానిక ప్రాజెక్ట్లలో సమస్యలు: సాధారణ కాన్ఫిగరేషన్ సమస్యలకు వివరణాత్మక పరిష్కారాలు. రియాక్ట్ స్థానిక డాక్స్
- మెట్రో బండ్లర్పై సమాచారం మరియు బిల్డ్ ఎర్రర్లను పరిష్కరించడానికి కాష్ను క్లియర్ చేయడం: డీబగ్గింగ్ కోసం ప్రాక్టికల్ సలహా. మెట్రో ట్రబుల్షూటింగ్ గైడ్
- రియాక్ట్ నేటివ్లో స్థానిక మాడ్యూళ్లను సమగ్రపరచడం మరియు పరీక్షించడం కోసం ఉత్తమ పద్ధతులు: దశల వారీ పరీక్ష పద్ధతులు. జెస్ట్ రియాక్ట్ స్థానిక పరీక్ష