আমার কাছে একটি অ্যাঙ্গুলারজেএস অ্যাপ্লিকেশন রয়েছে যা কারমা + জেসমিন ব্যবহার করে পরীক্ষার জন্য সেট আপ করেছে। আমার একটি ফাংশন রয়েছে যা আমি পরীক্ষা করতে চাই যা একটি বড় JSON অবজেক্ট নিয়ে যায়, এটিকে এমন একটি ফর্ম্যাটে রূপান্তরিত করে যা অ্যাপ্লিকেশনের বাকী অংশে আরও উপভোগযোগ্য এবং রূপান্তরিত বস্তুটি ফেরত দেয়। এটাই.
আমার পরীক্ষাগুলির জন্য, আমি চাই আপনার কাছে বিদ্রূপযুক্ত JSON ফাইল (* .json) কেবলমাত্র জোক JSON সামগ্রী সহ - কোনও স্ক্রিপ্ট নেই। পরীক্ষার জন্য, আমি JSON ফাইলটি লোড করতে সক্ষম হতে চাই এবং আমি যে ফাংশনটি পরীক্ষা করছি তার মধ্যে বস্তুটি পাম্প করুন।
আমি জানি যে আমি এখানে বর্ণিত মোকার কারখানার মধ্যে জেএসএনকে এম্বেড করতে পারি: http://dailyjs.com/2013/05/16/angularjs-5/ তবে আমি সত্যিই চাই যে JSON স্ক্রিপ্টের মধ্যে অন্তর্ভুক্ত না হয় - কেবল সরল JSON নথি পত্র.
আমি কয়েকটি জিনিস চেষ্টা করেছি কিন্তু আমি এই অঞ্চলে মোটামুটি নুব। প্রথমত, আমি আমার জাসন ফাইলটি কেবল কী করবে তা দেখার জন্য আমার কর্মফল সেট আপ করেছি:
files = [
...
'mock-data/**/*.json'
...
]
এর ফলস্বরূপ:
Chrome 27.0 (Mac) ERROR
Uncaught SyntaxError: Unexpected token :
at /Users/aaron/p4workspace4/depot/sitecatalyst/branches/anomaly_detection/client/anomaly-detection/mock-data/two-metrics-with-anomalies.json:2
সুতরাং আমি এটিকে পরিবর্তন করে কেবল ফাইলগুলি পরিবেশন করেছি এবং সেগুলি "অন্তর্ভুক্ত" করে না:
files = [
...
{ pattern: 'mock-data/**/*.json', included: false }
...
]
এখন যেহেতু সেগুলি কেবল পরিবেশন করা হয়েছে, আমি ভেবেছিলাম আমার অনুমানের মধ্যে থেকে $ http ব্যবহার করে ফাইলটি লোড করার চেষ্টা করব:
$http('mock-data/two-metrics-with-anomalies.json')
আমি যখন পেয়েছি সেই দৌড়াতে:
Error: Unexpected request: GET mock-data/two-metrics-with-anomalies.json
আমার বোঝার মধ্যে যার অর্থ এটি $ httpBackend থেকে বিদ্রূপিত প্রতিক্রিয়ার প্রত্যাশা করে। সুতরাং ... এই মুহুর্তে আমি কৌণিক ইউটিলিটিগুলি ব্যবহার করে কীভাবে ফাইলটি লোড করব তা আমি জানতাম না তাই আমি ভেবেছিলাম যে আমি jQuery চেষ্টা করব যাতে আমি কমপক্ষে এটি কাজ করতে পারি কিনা তা দেখার জন্য:
$.getJSON('mock-data/two-metrics-with-anomalies.json').done(function(data) {
console.log(data);
}).fail(function(response) {
console.log(response);
});
এর ফলে:
Chrome 27.0 (Mac) LOG: { readyState: 4,
responseText: 'NOT FOUND',
status: 404,
statusText: 'Not Found' }
আমি চার্লসে এই অনুরোধটি পরিদর্শন করি এবং এটিতে একটি অনুরোধ জানাচ্ছে
/mock-data/two-metrics-with-anomalies.json
যেখানে আমি কর্মের দ্বারা "অন্তর্ভুক্ত" হওয়ার জন্য কনফিগার করা বাকি ফাইলগুলিতে অনুরোধ করা হচ্ছে, উদাহরণস্বরূপ:
/base/src/app.js
স্পষ্টতই কর্মফল ফাইলগুলি পরিবেশন করতে কিছু ধরণের বেস ডিরেক্টরি স্থাপন করছে। কিক্সের জন্য আমি আমার jquery ডেটার অনুরোধটিতে পরিবর্তন করেছি
$.getJSON('base/mock-data/two-metrics-with-anomalies.json')...
এবং এটি কাজ করে! তবে এখন আমি নোংরা অনুভব করছি এবং গোসল করা দরকার। আমাকে আবার পরিষ্কার মনে করতে সহায়তা করুন।