JavaScript ãã¹ããã¬ã¼ã ã¯ã¼ã¯ãMochaãã®ä½¿ãæ¹ã¡ã¢
Node.jsï¼é£æ. 第ï¼å¼¾!
- npm 㨠Node.js ä¸ã§ require ã使ã£ãã¢ã¸ã¥ã¼ã«èªã¿è¾¼ã¿ã®ä»çµã¿ã«ã¤ãã¦ã¡ã¢
- Node.js ç¨ã«ä½ã£ãèªä½ã¢ã¸ã¥ã¼ã«ãmergerãã npm ã§å ¬éãã¦ã¿ã
- Node.js ç¨ã®èªä½ã¢ã¸ã¥ã¼ã«ã®ä½ãæ¹ã¡ã¢
- Node.js ç¨ã«ä½ã£ãèªä½ã¢ã¸ã¥ã¼ã«ã npm ã«ç»é²ãã¦å ¬éããæ¹æ³
- JavaScript ãã¹ããã¬ã¼ã ã¯ã¼ã¯ãMochaãã®ä½¿ãæ¹ã¡ã¢ <- ãã¾ãã
- JavaScript ãã¹ããã¬ã¼ã ã¯ã¼ã¯ãMochaãããã©ã¦ã¶ä¸ã§ä½¿ãæ¹æ³
Node.js ãããã¯ãã©ã¦ã¶ä¸ã§åã JavaScript ãã¹ããã¬ã¼ã ã¯ã¼ã¯ãMochaãã®ä½¿ãæ¹ã«ã¤ãã¦æ¸ãã¾ã.
æè¿, JavaScript ã«ãã大è¦æ¨¡éçºãå¢ãã¦ãã¾ãã. ããã«æ¯ä¾ãã¦éè¦ããã¦ããã®ã, ãã¹ãç°å¢ã®æ§ç¯ã§ã.
ããã§, node.js ã®ãã¹ããã¬ã¼ã ã¯ã¼ã¯ã®çé ãMochaãã®ä½¿ãæ¹ã ç°¡åã«ã¾ã¨ãã¾ããã®ã§ããã£ããåèã«ãã¦ä¸ãã.
Install
ã¤ã³ã¹ãã¼ã«ã¯ npm ã§ç°¡åã§è¡ãã¾ã. ä¸è¨ã®ã³ãã³ããå®è¡ããã ãã§ã.
npm install -g mocha
注æç¹ã¨ãã¦ã¯, ä»å¾ã®è§£èª¬ã§ã¯ã°ãã¼ãã«ã¤ã³ã¹ãã¼ã«åæã§è§£èª¬ãã¦ããã®ã§, -g ãªãã·ã§ã³ãå¿ããªãããã«ãã¦ä¸ãã.
Test Code
ä»åå®è¡ãããã¹ãã³ã¼ãã§ã. ãã¡ã¤ã«å㯠test.js ã¨ãã¦ä¿åãã¦ãã¾ã. æ¸ãæ¹ã¯ä¸è¬çãªãã¤ã¨ä¸ç·ã§ãã.
var assert = require('assert');
describe('Number', function() {
describe('calc', function() {
it('add', function() {
assert(4+8 == 12);
});
it('sub', function() {
assert(4-8 == -4);
});
it('mul', function() {
assert(16*2 == 32);
});
it('div', function() {
assert(8/2 == 4);
});
});
});
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function() {
var arr = [1, 2, 3];
assert(arr.indexOf(3) == 2);
assert(arr.indexOf(5) ==-1);
assert(arr.indexOf(0) ==-1);
});
});
});
ä»å㯠BDD ã§æ¸ãã¾ããã, -u ãªãã·ã§ã³ã§ TDD ã Exports ãé¸ã¶ãã¨ãã§ãã¾ã.
ã¡ãªã¿ã«ã§ãã, å ¬å¼ãµã¤ãã§ç´¹ä»ããã¦ãããµã³ãã«ã¯ mocha ãã¤ã³ã¹ãã¼ã«ããã ãã§ã¯åãã¾ãã. å½ããåã®ããã« should ã使ããã¦ããããã§ã.
should
ã¯å¥ã¢ã¸ã¥ã¼ã«ãªã®ã§ããã¤ãèªåã§ã¤ã³ã¹ãã¼ã«ããå¿
è¦ãããã¾ã.
ä»åã®ãµã³ãã«ã§ã¯ should
ã®ä»£ããã« node.js ã§ããã©ã«ãã§ãµãã¼ãããã¦ãããassert
ã使ã£ã¦ãã¾ã.
Usage
ãã¹ãã®å®è¡ã¯ä¸è¨ã®ã³ãã³ãã§è¡ããã¨ãã§ãã¾ã.
mocha --reporter spec test.js
å®è¡ããã¨ãããªæãã§çµæã表示ããã¾ã.
失ææã¯ãããªæã.
Option
Mocha ã§ä½¿ãããªãã·ã§ã³ã§ã. å ¬å¼ãµã¤ãããå¼ç¨.
ä¸é¨ã ã, ãã£ãã翻訳ãã¦ã¾ã.
Usage: mocha [debug] [options] [files]
Options:
-h, --help 使ãæ¹æ
å ±ã表示
-V, --version ãã¼ã¸ã§ã³ã表示
-r, --require <name> require ããã¢ã¸ã¥ã¼ã«ãæå®
-R, --reporter <name> åºåå½¢å¼ãæå®
-u, --ui <name> ã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¼ã¹ãæå®(bdd|tdd|exports)
-g, --grep <pattern> pattern ã«ä¸è´ãã describe ã it ã®ã¿ãå®è¡<pattern>
-t, --timeout <ms> ãã¹ãã±ã¼ã¹ãã¿ã¤ã ã¢ã¦ãããæéãæå® [2000]
-s, --slow <ms> "é
ã" ã¨å¤æããé¾å¤(åºæº)ãæå®[75]
-w, --watch ç£è¦ãããã¡ã¤ã«ãæå®. å¤æ´ããã度ã«ãã¹ããå®è¡ããã¾ã
-c, --colors è²è¡¨ç¤ºã®æå¹å
-C, --no-colors è²è¡¨ç¤ºã®ç¡å¹å
-G, --growl Growl ãæå¹å
-d, --debug node.js ã®ãããã¬ãæå¹å
-b, --bail bail after first test failure
--debug-brk enable node's debugger breaking on the first line
--globals <names> allow the given comma-delimited global [names]
--ignore-leaks ignore global variable leaks
--interfaces display available interfaces
--reporters display available reporters
--compilers <ext>:<module>,... use the given module(s) to compile files
Book
å¯ä¸? ã® JavaScript ã®ãã¹ãé§åã«ã¤ãã¦æ±ã£ã¦ããæ¬ã§ã. ç§ãæè¿èªãã§ããã®ã§ãã, ãªããªãã®è¯æ¸ã§ã.
ããã¹ãé§åJavaScriptã
Reference
åèã«ãããµã¤ã
- Mocha - the fun, simple, flexible JavaScript test framework
- ãã¹ããã¬ã¼ã ã¯ã¼ã¯ mocha - hokaccha.hamalog v2
- ryu22eBlog : Node.jsã®ãã¹ãã£ã³ã°ãã¬ã¼ã ã¯ã¼ã¯ãMochaãï¼åç·¨ï¼
次å㯠Mocha ã®ãã©ã¦ã¶ä¸ã§ã®ãã¹ãæ¹æ³ã«ã¤ãã¦ç´¹ä»ãããã¨æãã¾ã. ãã©ã¦ã¶ä¸ã§ã®ãã¹ãã ã¨ä½ãã¤ã³ã¹ãã¼ã«ããå¿ è¦ããªãä¸ã« DOM é¢é£ã®ãã¹ããã§ããã®ã§ä¾¿å©ã§ãããâª