يوضح هذه المقال كيفية الحصول على three.js في بيئة [link:https://nodejs.org/en/ node.js] حتى تتمكن من تنفيذ الاختبارات الآلية. يمكن إجراء الاختبارات على سطر الأوامر ، أو بواسطة أدوات CI الآلية مثل [link:https://travis-ci.org/ Travis].
</p>
<h2>النسخة القصيرة</h2>
<p>
إذا كنت مرتاحًا مع node و npm ،
<code>
$ npm install three --save-dev
</code>
و من ثم قم بإضافة
<code>
var THREE = require('three');
</code>
للاختبار الخاص بك.
</p>
<h2>إنشاء مشروع قابلة للاختبار من الصفر</h2>
<p>
إذا لم تكن معتادًا على هذه الأدوات ، فإليك دليلًا سريعًا (بالنسبة لنظام التشغيل Linux ، ستكون عملية التثبيت مختلفة قليلاً باستخدام windows ، لكن أوامر NPM متطابقة).
</p>
<h3>الإعدادات الأساسية</h3>
<div>
<ol>
<li>
قم بتثبيت [link:https://www.npmjs.org/ npm] و nodejs. عادةً ما يبدو أقصر طريق كالأتي
<code>
$ sudo apt-get install -y npm nodejs-legacy
# fix any problems with SSL in the default registry URL
$ npm config set registry http://registry.npmjs.org/
</code>
</li>
<li>
أنشئ دليل مشروع جديد
<code>
$ mkdir test-example; cd test-example
</code>
</li>
<li>
اطلب من npm إنشاء ملف مشروع جديد لك:
<code>
$ npm init
</code>
واقبل جميع الإعدادات الافتراضية عن طريق الضغط على Enter في جميع المطالبات ، سيؤدي هذا إلى إنشاء package.json.
</li><br/>
<li>
جرب وابدأ اختبار الميزة بـ
<code>
$ npm test
</code>
هذا سيفشل ، وهو أمر متوقع. إذا نظرت في package.json ، فإن تعريف البرنامج النصي للاختبار هو
<code>
"test": "echo \"Error: no test specified\" && exit 1"
</code>
</li>
</ol>
</div>
<h2>إضافة mocha</h2>
<div>
سنقوم بإستخدام [link:https://mochajs.org/ mocha].
<ol>
<li>
تثبيت mocha من خلال
<code>
$ npm install mocha --save-dev
</code>
لاحظ أنه تم إنشاء node_modules/ وتظهر تبعياتك هناك. لاحظ أيضًا أنه تم تحديث package.json: تمت إضافة خاصية devDependencies وتحديثها باستخدام --save-dev.
</li><br/>
<li>
قم بتحرير package.json لاستخدام mocha للاختبار. عندما يتم استدعاء الاختبار ، نريد فقط تشغيل المخاوي وتحديد مراسل مطول. بشكل افتراضي ، سيؤدي هذا إلى تشغيل أي شيء في test (لا يمكن تشغيل الدليل test في npm ERR! ، قم بإنشائه عبر اختبار mkdir)
<code>
"test": "mocha --reporter list"
</code>
</li>
<li>
أعد الاختبار باستخدام
<code>
$ npm test
</code>
يجب أن ينجح هذا الآن ، حيث يتم الإبلاغ عن 0 تمرير (1 جزء من الثانية) أو ما شابه.
</li>
</ol>
</div>
<h2>أضف three.js</h2>
<div>
<ol>
<li>
دعنا نسحب تبعية three.js لدينا مع
<code>
$ npm install three --save-dev
</code>
<ul>
<li>
إذا كنت بحاجة إلى إصدار مختلف ، فاستخدم
<code>
$ npm show three versions
</code>
لمعرفة ما هو متاح. لإخبار npm بالقيمة الصحيحة ، استخدم
<code>
$ npm install three@0.84.0 --save
</code>
(0.84.0 في هذا المثال). - حفظ يجعل هذا تبعية لهذا المشروع ، بدلاً من dev تبعية. انظر المستندات هنا [link:https://www.npmjs.org/doc/json.html here] لمزيد من المعلومات.
</li>
</ul>
</li>
<li>
سيبحث Mocha عن الاختبارات في test/ ، لذلك دعونا
<code>
$ mkdir test
</code>
</li>
<li>
أخيرًا ، نحتاج بالفعل إلى اختبار JS للتشغيل. دعنا نضيف اختبارًا بسيطًا للتحقق من أن الكائن three.js متاح ويعمل. أنشئ test/verify-three.js تحتوي على:
<code>
var THREE = require('three');
var assert = require("assert");
describe('The THREE object', function() {
it('should have a defined BasicShadowMap constant', function() {
إذا كنت تستخدم بالفعل شيئًا ذكيًا مثل request.js أو browserify فتخط هذا الجزء.
</p>
<p>
عادةً ما يتم تشغيل مشروع three.js في المتصفح. يتم تحميل الوحدة النمطية عن طريق المتصفح الذي يقوم بتنفيذ مجموعة من علامات البرنامج النصي. فبالنسبة لملفاتك الفردية فلا داعي للقلق بشأن التبعيات. ومع ذلك ، في سياق nodejs ، لا يوجد index.html يربط كل شيء معًا ، لذلك يجب أن تكون واضحًا.
</p>
<p>
إذا كنت تقوم بتصدير وحدة تعتمد على ملفات أخرى ، فسيتعين عليك إخبار العقدة بتحميلها.
إليك طريقة واحدة:
</p>
<ol>
<li>
في بداية الوحدة النمطية الخاصة بك ، تحقق لمعرفة ما إذا كنت في بيئة nodejs.
</li>
<li>
إذا كان هذا هو الحال، فيتوجب عليك أن تعلن عن التبعيات الخاصة بك.
</li>
<li>
إذا لم يكن الأمر كذلك ، فمن المحتمل أنك في متصفح لذلك لا تحتاج إلى القيام بأي شيء آخر.