diff --git a/1-js/03-code-quality/05-testing-mocha/article.md b/1-js/03-code-quality/05-testing-mocha/article.md index 1e3ef14db..84775eca1 100644 --- a/1-js/03-code-quality/05-testing-mocha/article.md +++ b/1-js/03-code-quality/05-testing-mocha/article.md @@ -1,193 +1,193 @@ -## à¸à¸à¸ªà¸à¸à¹à¸à¹à¸à¹à¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¸±à¸ Mocha +# à¸à¸²à¸£à¸à¸à¸ªà¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¹à¸§à¸¢ Mocha -à¹à¸à¹à¸à¸à¸µà¹à¹à¸£à¸²à¸à¸°à¹à¸à¸µà¸¢à¸à¸à¹à¸à¹à¸à¸à¸µà¹ à¸à¸°à¸¡à¸µà¸à¸²à¸£à¸à¸à¸ªà¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸à¹à¸§à¸¢à¸à¸° à¸à¸¶à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸à¸´à¸à¸à¸µà¹à¹à¸à¹à¸à¸±à¸à¸à¸±à¹à¸§à¹à¸à¹à¸à¹à¸à¸£à¹à¸à¹à¸à¸à¹à¸à¸£à¸´à¸à¸à¹à¸§à¸¢ +à¹à¸à¸à¸²à¸à¸à¹à¸à¹ à¹à¸à¸à¸°à¸¡à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸£à¸à¸à¸ªà¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ à¸à¸¶à¹à¸à¹à¸à¹à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¹à¸à¹à¸à¸±à¸à¸à¸¢à¹à¸²à¸à¹à¸à¸£à¹à¸«à¸¥à¸²à¸¢à¹à¸à¹à¸à¸£à¹à¸à¹à¸à¸à¹à¸à¸£à¸´à¸à¸à¹à¸§à¸¢ -## à¸à¸³à¹à¸¡à¹à¸£à¸²à¸à¹à¸à¸à¸à¸à¸ªà¸à¸? +## à¸à¸³à¹à¸¡à¸à¹à¸à¸à¸¡à¸µà¸à¸²à¸£à¸à¸à¸ªà¸à¸? -à¹à¸§à¸¥à¸²à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸à¹à¸à¸±à¸ à¹à¸£à¸²à¸à¸¶à¸à¸à¸à¸à¸§à¹à¸²à¸¡à¸±à¸à¸à¸§à¸£à¸à¸°à¸à¸³à¸à¸²à¸à¸¢à¸±à¸à¹à¸ à¹à¸ªà¹à¸à¸°à¹à¸£à¹à¸à¹à¸²à¹à¸ à¹à¸¥à¹à¸§à¹à¸à¹à¸à¸°à¹à¸£à¸à¸à¸à¸¡à¸² +à¹à¸§à¸¥à¸²à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸à¹à¸à¸±à¸ à¹à¸£à¸²à¸¡à¸±à¸à¸à¸°à¸à¸´à¸à¸à¸à¸²à¸à¸²à¸£à¹à¸à¹à¸§à¹à¸²à¸¡à¸±à¸à¸à¸§à¸£à¸à¸°à¸à¸³à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸£ à¸à¸²à¸£à¸²à¸¡à¸´à¹à¸à¸à¸£à¹à¹à¸à¸à¹à¸«à¸à¹à¸«à¹à¸à¸¥à¸¥à¸±à¸à¸à¹à¹à¸à¸à¹à¸«à¸ -à¸à¸à¸à¸à¸±à¸à¸à¸² à¹à¸£à¸²à¸à¹à¸à¸°à¸à¸à¸ªà¸à¸à¹à¸à¸¢à¸à¸²à¸£à¸£à¸±à¸à¸à¸±à¸à¸à¹à¸à¸±à¸ à¹à¸¥à¹à¸§à¸à¸¹à¸§à¹à¸²à¸à¸¥à¸¥à¸±à¸à¸à¹à¹à¸à¹à¸à¸à¸¢à¹à¸²à¸à¸à¸µà¹à¸à¸²à¸à¸«à¸§à¸±à¸à¹à¸§à¹à¸«à¸£à¸·à¸à¹à¸à¸¥à¹à¸² à¹à¸à¹à¸ รัà¸à¹à¸ console à¸à¸°à¹à¸£à¹à¸à¸à¸à¸±à¹à¸ +ระหวà¹à¸²à¸à¸à¸±à¸à¸à¸² à¹à¸£à¸²à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸à¹à¹à¸à¸¢à¸à¸²à¸£à¸£à¸±à¸à¹à¸¥à¸°à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸±à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸²à¸à¸«à¸§à¸±à¸à¹à¸§à¹ à¹à¸à¹à¸ à¸à¸²à¸à¸à¸³à¹à¸à¸à¸à¸à¹à¸à¸¥ -à¸à¹à¸²à¸à¸°à¹à¸£à¸à¸´à¸ à¸à¹à¹à¸à¹à¹à¸à¹à¸ รัà¸à¹à¸«à¸¡à¹ à¸à¸¹à¸à¸¥à¸¥à¸±à¸à¸à¹... วà¸à¹ à¹à¸à¸à¸à¸à¸§à¹à¸²à¸¡à¸±à¸à¸à¸°à¹à¸§à¸´à¸£à¹à¸ +à¸à¹à¸²à¸¡à¸µà¸à¸°à¹à¸£à¸à¸´à¸à¸à¸¥à¸²à¸ à¸à¹à¹à¸à¹à¹à¸à¹à¸ รัà¸à¹à¸«à¸¡à¹ à¹à¸à¹à¸à¸à¸¥à¸¥à¸±à¸à¸à¹ วà¸à¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸à¸à¸§à¹à¸²à¸à¸°à¹à¸à¹à¹à¸à¹ -à¹à¸à¹à¸à¸²à¸£ "รัà¸à¸à¹à¸³" à¹à¸à¸à¹à¸¡à¸à¸à¸§à¸¥à¹à¸à¸µà¹à¸¢ มัà¸à¹à¸¡à¹à¸à¹à¸à¸¢à¹à¸§à¸´à¸£à¹à¸à¸à¸°à¸à¸´ +à¹à¸à¹à¸à¸²à¸£ "รัà¸à¸à¹à¸³" à¸à¹à¸§à¸¢à¸¡à¸·à¸à¹à¸à¸à¸à¸±à¹à¸à¸¢à¸±à¸à¹à¸¡à¹à¸ªà¸¡à¸à¸¹à¸£à¸à¹à¹à¸à¸ -**à¹à¸§à¸¥à¸²à¸à¸à¸ªà¸à¸à¹à¸à¹à¸à¹à¸à¸à¸£à¸±à¸à¸à¹à¸³à¹à¸à¸ มัà¸à¸à¹à¸²à¸¢à¸¡à¸²à¸à¸à¸µà¹à¸à¸°à¸à¸¥à¸²à¸à¸à¸°à¹à¸£à¸à¸²à¸à¸à¸¢à¹à¸²à¸** +**à¹à¸¡à¸·à¹à¸à¸à¸à¸ªà¸à¸à¹à¸à¹à¸à¹à¸à¸¢à¸à¸²à¸£à¸£à¸±à¸à¸à¹à¸³à¹à¸à¸ มัà¸à¸à¸°à¸¡à¸µà¸à¸²à¸à¸à¸¢à¹à¸²à¸à¸«à¸¥à¸¸à¸à¹à¸à¹à¸à¹à¸à¹à¸²à¸¢** -à¹à¸à¹à¸ à¹à¸£à¸²à¸ªà¸£à¹à¸²à¸à¸à¸±à¸à¸à¹à¸à¸±à¸ `f` à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¹à¸ªà¸£à¹à¸ à¸à¸à¸ªà¸à¸: `f(1)` à¸à¸³à¸à¸²à¸ à¹à¸à¹ `f(2)` à¹à¸¡à¹à¸à¸³à¸à¸²à¸ à¹à¸£à¸²à¹à¸à¹à¹à¸à¹à¸ à¹à¸¥à¹à¸§à¸à¸à¸à¸à¸µà¹ `f(2)` à¸à¸³à¸à¸²à¸à¹à¸¥à¹à¸§ à¸à¸¹à¹à¸«à¸¡à¸·à¸à¸à¹à¸ªà¸£à¹à¸à¹à¸¥à¹à¸§à¹à¸à¹à¹à¸«à¸¡? à¹à¸à¹à¹à¸£à¸²à¸¥à¸·à¸¡à¸à¸à¸ªà¸à¸ `f(1)` à¸à¸µà¸à¸à¸µ à¸à¸²à¸à¸à¸°à¹à¸à¸ error à¸à¹à¹à¸à¹ +ยà¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¹à¸à¹à¸ สมมà¸à¸´à¹à¸£à¸²à¸à¸³à¸¥à¸±à¸à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸à¹à¸à¸±à¸ `f` à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸à¸´à¸à¸«à¸à¹à¸à¸¢ ลà¸à¸à¸à¸à¸ªà¸à¸à¸à¸¹ `f(1)` à¹à¸à¹à¹à¸à¹ à¹à¸à¹ `f(2)` à¹à¸¡à¹à¸à¸³à¸à¸²à¸ à¹à¸£à¸²à¹à¸à¹à¹à¸à¹à¸à¹à¸¥à¹à¸§à¸à¸à¸à¸à¸µà¹ `f(2)` à¸à¹à¹à¸à¹à¹à¸à¹à¹à¸¥à¹à¸§ à¸à¸¹à¹à¸«à¸¡à¸·à¸à¸à¸à¸°à¸à¸£à¸à¹à¸¥à¹à¸§à¹à¸à¹à¹à¸«à¸¡ à¹à¸à¹à¹à¸£à¸²à¸¥à¸·à¸¡à¸¢à¹à¸à¸à¸à¸¥à¸±à¸à¹à¸à¹à¸à¸ªà¸à¹ `f(1)` à¹à¸«à¸¡à¹ à¸à¸¶à¹à¸à¸à¸²à¸à¸à¸°à¸¡à¸µà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¹à¸à¸¥à¹à¸à¸¶à¹à¸à¸¡à¸²à¸à¹à¹à¸à¹ -à¸à¸µà¹à¹à¸à¹à¸à¹à¸£à¸·à¹à¸à¸à¸à¸à¸à¸´à¸¡à¸²à¸ à¹à¸§à¸¥à¸²à¹à¸£à¸²à¸à¸±à¸à¸à¸²à¸à¸°à¹à¸£ à¹à¸£à¸²à¸¡à¸±à¸à¸à¸°à¸à¸´à¸à¸à¸¶à¸à¸à¸£à¸à¸µà¸à¹à¸²à¸à¹ à¸à¸µà¹à¸à¸²à¸à¹à¸à¸´à¸à¸à¸¶à¹à¸ à¹à¸à¹à¸à¸²à¸£à¸à¸²à¸à¸«à¸§à¸±à¸à¹à¸«à¹à¸à¸±à¸à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸à¸à¸ªà¸à¸à¸à¸¸à¸à¸à¸£à¸à¸µà¸à¹à¸§à¸¢à¸à¸±à¸§à¹à¸à¸à¸«à¸¥à¸±à¸à¸à¸²à¸à¸à¸¸à¸à¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸ à¹à¸à¹à¸¡à¸±à¸à¹à¸à¹à¸à¹à¸à¹à¸à¹à¸¢à¸²à¸ à¸à¸±à¸à¸à¸±à¹à¸ à¸à¸¶à¸à¸à¹à¸²à¸¢à¸à¸µà¹à¸à¸°à¹à¸à¹à¸ªà¸´à¹à¸à¸«à¸à¸¶à¹à¸ à¹à¸¥à¹à¸§à¸à¸±à¸à¹à¸à¸à¸³à¸à¸µà¸à¸ªà¸´à¹à¸à¹à¸ªà¸µà¸¢ +à¸à¸µà¹à¹à¸à¹à¸à¹à¸£à¸·à¹à¸à¸à¸à¸à¸à¸´à¸¡à¸²à¸ à¸à¸à¸à¸à¸µà¹à¹à¸£à¸²à¸à¸³à¸¥à¸±à¸à¸à¸±à¸à¸à¸²à¸à¸°à¹à¸£à¸à¸²à¸à¸à¸¢à¹à¸²à¸ มัà¸à¸à¸°à¸¡à¸µà¸«à¸¥à¸²à¸¢à¸à¸£à¸à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¸µà¹à¹à¸£à¸²à¸à¹à¸à¸à¸à¸³à¸à¸¶à¸à¸à¸¶à¸ à¹à¸à¹à¸à¸²à¸£à¸à¸µà¹à¸à¸°à¹à¸«à¹à¹à¸à¸£à¹à¸à¸£à¸¡à¹à¸¡à¸à¸£à¹à¸¡à¸²à¸à¸±à¹à¸à¹à¸à¹à¸à¸à¸¸à¸à¸à¸£à¸à¸µà¸à¹à¸§à¸¢à¸à¸±à¸§à¹à¸à¸à¸à¸¸à¸à¸à¸£à¸±à¹à¸à¸à¸µà¹à¸¡à¸µà¸à¸²à¸£à¹à¸à¸¥à¸µà¹à¸¢à¸à¹à¸à¸¥à¸ à¹à¸à¹à¸à¹à¸£à¸·à¹à¸à¸à¸¢à¸²à¸ à¹à¸¥à¸¢à¸à¸¥à¸²à¸¢à¹à¸à¹à¸à¸§à¹à¸²à¹à¸à¹à¹à¸à¸à¸¢à¹à¸²à¸à¸«à¸à¸¶à¹à¸ à¹à¸¥à¹à¸§à¹à¸à¸à¸³à¹à¸«à¹à¸à¸µà¸à¸à¸¢à¹à¸²à¸à¸à¸±à¸à¹à¸à¹à¸à¹à¸²à¸¢ -**à¸à¸²à¸£à¸à¸à¸ªà¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´ หมายà¸à¸¶à¸à¸à¸²à¸£à¹à¸à¸µà¸¢à¸à¸à¸à¸ªà¸à¸à¹à¸¢à¸à¸à¹à¸²à¸à¸«à¸²à¸à¸à¸²à¸à¹à¸à¹à¸ à¸à¸§à¸à¸¡à¸±à¸à¸à¸°à¸£à¸±à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸à¸à¹à¸£à¸²à¹à¸à¸«à¸¥à¸²à¸¢à¹ à¸à¸£à¸à¸µ à¹à¸¥à¹à¸§à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸±à¸à¸à¸µà¹à¸à¸²à¸à¸«à¸§à¸±à¸** +**à¸à¸²à¸£à¸à¸à¸ªà¸à¸à¸à¸±à¸à¹à¸à¸¡à¸±à¸à¸´à¸«à¸¡à¸²à¸¢à¸à¸¶à¸à¸à¸²à¸£à¹à¸à¸µà¸¢à¸à¹à¸à¸ªà¸à¹à¹à¸¢à¸à¸à¸à¸à¸¡à¸²à¸à¹à¸²à¸à¸«à¸²à¸ à¹à¸à¹à¸à¸ªà¹à¸§à¸à¹à¸ªà¸£à¸´à¸¡à¸à¸à¸à¹à¸à¹à¸ à¹à¸à¸ªà¸à¹à¹à¸«à¸¥à¹à¸²à¸à¸±à¹à¸à¸à¸°à¸£à¸±à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸à¸à¹à¸£à¸²à¹à¸à¸«à¸¥à¸²à¸à¸«à¸¥à¸²à¸¢à¸§à¸´à¸à¸µ à¹à¸¥à¸°à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸±à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸²à¸à¸«à¸§à¸±à¸** ## Behavior Driven Development (BDD) -à¹à¸£à¸²à¸à¸°à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¹à¸§à¸¢à¹à¸à¸à¸à¸´à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² Behavior Driven Development: [http://en.wikipedia.org/wiki/Behavior-driven_development](http://en.wikipedia.org/wiki/Behavior-driven_development) หรืà¸à¹à¸£à¸µà¸¢à¸à¸ªà¸±à¹à¸à¹ วà¹à¸² BDD +à¹à¸£à¸²à¸¡à¸²à¹à¸£à¸´à¹à¸¡à¸à¹à¸à¸à¹à¸§à¸¢à¹à¸à¸à¸à¸´à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² [Behavior Driven Development](http://en.wikipedia.org/wiki/Behavior-driven_development) หรืà¸à¹à¸£à¸µà¸¢à¸à¸ªà¸±à¹à¸à¹ วà¹à¸² BDD à¸à¸±à¸ -**BDD à¸à¸·à¸à¸ªà¸²à¸¡à¸ªà¸´à¹à¸à¹à¸à¸«à¸à¸¶à¹à¸à¹à¸à¸µà¸¢à¸§: à¸à¸à¸ªà¸à¸ + à¹à¸à¸à¸ªà¸²à¸£ + à¸à¸±à¸§à¸à¸¢à¹à¸²à¸** +**BDD à¸à¸·à¸ 3 สิà¹à¸à¹à¸à¸«à¸à¸¶à¹à¸à¹à¸à¸µà¸¢à¸§ à¸à¸±à¹à¸à¹à¸à¸ªà¸à¹ à¹à¸à¸à¸ªà¸²à¸£ à¹à¸¥à¸°à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸** -à¹à¸à¸·à¹à¸à¹à¸«à¹à¹à¸à¹à¸²à¹à¸ BDD à¹à¸£à¸²à¸à¸°à¸à¸¹à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸à¸²à¸à¸à¸à¸´à¸à¸±à¸à¸´ +à¹à¸à¸·à¹à¸à¸à¸³à¸à¸§à¸²à¸¡à¹à¸à¹à¸²à¹à¸ BDD à¹à¸£à¸²à¸à¸°à¸¡à¸²à¸à¸¹à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¸£à¸à¸µà¸¨à¸¶à¸à¸©à¸²à¹à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸à¸à¸à¹à¹à¸§à¸£à¹à¸à¸±à¸ -## à¸à¸à¸´à¸à¸±à¸à¸´à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸ "pow": รูà¹à¸à¸±à¸ "spec" à¸à¹à¸à¸ +## à¸à¸²à¸£à¸à¸±à¸à¸à¸² "pow": à¸à¹à¸à¸à¸³à¸«à¸à¸ -สมมà¸à¸´à¸§à¹à¸²à¹à¸£à¸²à¸à¸¢à¸²à¸à¸ªà¸£à¹à¸²à¸à¸à¸±à¸à¸à¹à¸à¸±à¸ `pow(x, n)` à¸à¸µà¹à¹à¸à¸² x ยà¸à¸à¸³à¸¥à¸±à¸ n à¹à¸à¸¢à¸à¸µà¹ n à¸à¹à¸à¸à¹à¸à¹à¸à¹à¸¥à¸à¹à¸à¹à¸¡à¸à¸§à¸à¸à¸° +สมมà¸à¸´à¸§à¹à¸²à¹à¸£à¸²à¸à¸¢à¸²à¸à¹à¸à¸µà¸¢à¸à¸à¸±à¸à¸à¹à¸à¸±à¸ `pow(x, n)` à¸à¸µà¹à¸à¸·à¸à¸à¹à¸² `x` ยà¸à¸à¸³à¸¥à¸±à¸à¸à¹à¸§à¸¢à¹à¸¥à¸à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¸³à¸à¸§à¸à¹à¸à¹à¸¡ `n` à¹à¸à¸¢à¹à¸£à¸²à¸ªà¸¡à¸¡à¸à¸´à¸§à¹à¸² `nâ¥0` -à¸à¸±à¸à¸à¸¹à¸à¹à¸²à¹à¸à¸·à¹à¸à¹à¸à¹à¸¡à¸±à¹à¸¢? à¸à¸£à¸´à¸à¹ à¹à¸¥à¹à¸§à¹à¸à¹à¸²à¸à¸µà¹à¸¡à¸µà¸à¸±à¸§ `**` à¹à¸ JavaScript à¸à¸µà¹à¸à¸³à¹à¸à¹à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§ à¹à¸à¹à¹à¸à¸µà¹à¸¢à¸§à¸à¹à¸à¸! à¹à¸£à¸²à¸à¸°à¹à¸à¹à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¸µà¹à¸à¸¶à¸à¸à¸à¸§à¸´à¸à¸µà¸à¸´à¸à¹à¸à¸à¸²à¸£à¸ªà¸£à¹à¸²à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸à¸à¸§à¹à¸²à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¸¢à¸à¸° +à¸à¸£à¸´à¸à¹ à¹à¸¥à¹à¸§à¸à¸µà¹à¹à¸à¹à¸à¹à¸à¹à¸à¸±à¸§à¸à¸¢à¹à¸²à¸ à¹à¸à¸£à¸²à¸°à¹à¸à¸à¸²à¸§à¸²à¸ªà¸à¸£à¸´à¸à¸à¹à¸¡à¸µà¸à¸±à¸§à¸à¸³à¹à¸à¸´à¸à¸à¸²à¸£ `**` à¸à¸µà¹à¸à¸³à¹à¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸¢à¸¹à¹à¹à¸¥à¹à¸§ à¹à¸à¹à¸à¸£à¸à¸à¸µà¹à¹à¸£à¸²à¸à¸°à¸¡à¸¸à¹à¸à¹à¸à¹à¸à¹à¸à¸à¸µà¹à¸§à¸´à¸à¸µà¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸³à¹à¸à¸à¸£à¸°à¸¢à¸¸à¸à¸à¹à¹à¸à¹à¸à¸±à¸à¸à¸²à¸à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸à¸à¸§à¹à¸²à¸à¸µà¹à¹à¸à¹à¸à¹à¸§à¸¢ -à¸à¹à¸à¸à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸ `pow` à¹à¸£à¸²à¸à¹à¸à¸à¸£à¸¹à¹à¸à¸±à¸à¸¡à¸±à¸à¸à¹à¸à¸à¸§à¹à¸²à¸¡à¸±à¸à¸à¸°à¸à¸³à¸à¸°à¹à¸£à¸à¹à¸²à¸ à¹à¸¥à¸°à¸à¸à¸´à¸à¸²à¸¢à¸¡à¸±à¸à¸à¸à¸à¸¡à¸²à¹à¸à¹à¸à¸à¸³à¸à¸¹à¸ +à¸à¹à¸à¸à¸à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¹à¸à¸à¸à¸ `pow` à¹à¸£à¸²à¸ªà¸²à¸¡à¸²à¸£à¸à¸à¸´à¸à¸à¸à¸²à¸à¸²à¸£à¸à¸¶à¸à¸ªà¸´à¹à¸à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸§à¸£à¸à¸°à¸à¸³à¹à¸¥à¸°à¸à¸£à¸£à¸¢à¸²à¸¢à¸¡à¸±à¸à¹à¸§à¹à¸à¹à¸à¸à¹à¸à¹ -à¸à¸³à¸à¸à¸´à¸à¸²à¸¢à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² *specification* หรืà¸à¹à¸£à¸µà¸¢à¸à¸ªà¸±à¹à¸à¹ วà¹à¸² *spec* à¸à¸¶à¹à¸à¸à¸°à¸£à¸§à¸¡à¸à¸¶à¸à¸§à¸´à¸à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸¥à¸°à¸à¸²à¸£à¸à¸à¸ªà¸à¸à¸§à¹à¸²à¸¡à¸±à¸à¸à¸³à¸à¸²à¸à¸à¸¹à¸à¸à¹à¸à¸à¸«à¸£à¸·à¸à¹à¸à¸¥à¹à¸² +à¸à¸³à¸à¸£à¸£à¸¢à¸²à¸¢à¹à¸à¸à¸à¸µà¹à¹à¸£à¸µà¸¢à¸à¸§à¹à¸² *à¸à¹à¸à¸à¸³à¸«à¸à¸ (specification)* หรืà¸à¹à¸£à¸µà¸¢à¸à¸ªà¸±à¹à¸à¹ วà¹à¸² spec à¸à¸¶à¹à¸à¸à¸°à¸à¸£à¸°à¸à¸à¸à¸à¹à¸§à¸¢à¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¸à¸£à¸à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¸à¹à¸²à¸à¹ รà¹à¸§à¸¡à¸à¸±à¸à¹à¸à¸ªà¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸£à¸à¸µà¹à¸«à¸¥à¹à¸²à¸à¸±à¹à¸ à¸à¸±à¸à¸à¸µà¹ ```js describe("pow", function() { - it("ยà¸à¸à¸³à¸¥à¸±à¸ n à¹à¸à¹", function() { + it("ยà¸à¸à¸³à¸¥à¸±à¸ n", function() { assert.equal(pow(2, 3), 8); }); }); ``` -spec à¸à¸°à¸¡à¸µ 3 สà¹à¸§à¸à¸«à¸¥à¸±à¸à¹ à¸à¸²à¸¡à¸à¸µà¹à¹à¸«à¹à¸à¹à¸¥à¸¢: +spec มีà¸à¸à¸à¹à¸à¸£à¸°à¸à¸à¸à¸«à¸¥à¸±à¸ 3 สà¹à¸§à¸à¸à¸²à¸¡à¸à¸µà¹à¹à¸«à¹à¸à¸à¹à¸²à¸à¸à¸ -`describe("à¸à¸·à¹à¸", function() { ... })` -: à¸à¸à¸à¹à¸£à¸²à¸§à¹à¸²à¸à¸³à¸¥à¸±à¸à¸à¸à¸´à¸à¸²à¸¢à¸à¸°à¹à¸£ à¹à¸à¸à¸£à¸à¸µà¸à¸µà¹à¹à¸£à¸²à¸à¸³à¸¥à¸±à¸à¸à¸à¸´à¸à¸²à¸¢à¸à¸±à¸à¸à¹à¸à¸±à¸ `pow` à¸à¸±à¹à¸à¹à¸à¸ à¹à¸«à¸¡à¸·à¸à¸à¸«à¸±à¸§à¸à¹à¸à¸à¸à¸à¸à¸¥à¸¸à¹à¸¡à¸à¸à¸à¸²à¸à¸à¸µà¹à¸à¸³à¸¥à¸±à¸à¸à¸°à¸¡à¸²à¸à¸³à¸à¸²à¸à¹à¸à¸à¸¥à¹à¸à¸ `it` +`describe("à¸à¸·à¹à¸à¸«à¸±à¸§à¸à¹à¸", function() { ... })` +: à¹à¸£à¸²à¸à¸³à¸¥à¸±à¸à¸à¸à¸´à¸à¸²à¸¢à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸°à¹à¸£? à¹à¸à¸à¸£à¸à¸µà¸à¸µà¹à¸à¸·à¸à¸à¸±à¸à¸à¹à¸à¸±à¸ `pow` à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸±à¸à¸à¸¥à¸¸à¹à¸¡à¸à¸¥à¹à¸à¸ `it` à¸à¸µà¹à¹à¸à¹à¸ "à¸à¸¹à¹à¸à¸³à¸à¸²à¸" -`it("à¸à¸³à¸à¸à¸´à¸à¸²à¸¢à¸à¸²à¸£à¹à¸à¹à¸à¸²à¸", function() { ... })` -: à¹à¸à¸«à¸±à¸§à¸à¹à¸à¸à¸à¸ `it` à¹à¸£à¸²à¸à¸° *à¸à¸à¸´à¸à¸²à¸¢à¸à¹à¸§à¸¢à¸ าษาà¸à¸* วà¹à¸²à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸µà¹à¸à¸§à¸£à¸à¸³à¸à¸²à¸à¸à¸¢à¹à¸²à¸à¹à¸£à¹à¸à¸ªà¸à¸²à¸à¸à¸²à¸£à¸à¹à¸à¸±à¹à¸à¹ à¹à¸¥à¸°à¸à¸±à¸§ argument à¸à¸µà¹à¸ªà¸à¸à¹à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸à¸ªà¸à¸ +`it("à¸à¸³à¸à¸à¸´à¸à¸²à¸¢à¸à¸£à¸à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸", function() { ... })` +: à¹à¸à¸à¸·à¹à¸à¸à¸à¸ `it` à¸à¸°à¸à¸£à¸£à¸¢à¸²à¸¢ *à¹à¸à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸à¸à¹à¸²à¸à¹à¸¥à¹à¸§à¹à¸à¹à¸²à¹à¸* à¸à¸¶à¸à¸à¸£à¸à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸à¸²à¸° à¹à¸¥à¸°à¸à¸²à¸£à¹à¸à¸´à¸§à¹à¸¡à¸à¸à¹à¸à¸±à¸§à¸à¸µà¹à¸ªà¸à¸à¸à¹à¸à¸°à¹à¸à¹à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸µà¹à¸à¸à¸ªà¸à¸à¸à¸£à¸à¸µà¸à¸±à¸à¸à¸¥à¹à¸²à¸§ -`assert.equal(à¸à¹à¸²1, à¸à¹à¸²2)` -: à¹à¸à¹à¸à¸ ายà¹à¸à¸à¸¥à¹à¸à¸ `it` à¸à¹à¸²à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸¹à¸à¸à¹à¸à¸ à¸à¸°à¸à¹à¸à¸à¸à¸³à¸à¸²à¸à¹à¸à¸¢à¹à¸¡à¹à¸¡à¸µ error +`assert.equal(value1, value2)` +: à¹à¸à¹à¸à¸ ายà¹à¸à¸à¸¥à¹à¸à¸ `it` à¸à¹à¸²à¸à¸´à¸¡à¸à¸¥à¸µà¹à¸¡à¸à¸à¹à¸à¸¹à¸à¸à¹à¸à¸ à¸à¸§à¸£à¸à¸°à¸£à¸±à¸à¹à¸à¹à¹à¸à¸¢à¹à¸¡à¹à¹à¸à¸´à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ - à¸à¸±à¸à¸à¹à¸à¸±à¸ `assert.*` à¹à¸à¹à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸² `pow` à¸à¸³à¸à¸²à¸à¸à¸²à¸¡à¸à¸µà¹à¸à¸²à¸à¸«à¸§à¸±à¸à¸«à¸£à¸·à¸à¹à¸¡à¹ à¹à¸à¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¸µà¹à¹à¸£à¸²à¹à¸à¹ `assert.equal` à¹à¸à¸·à¹à¸à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¸à¹à¸²à¸ªà¸à¸à¸à¹à¸² à¸à¹à¸²à¹à¸¡à¹à¹à¸à¹à¸²à¸à¸±à¸ à¸à¸°à¸¡à¸µ error à¹à¸ªà¸à¸à¸à¸¶à¹à¸à¸¡à¸² à¸à¸µà¹à¸à¸µà¹à¹à¸£à¸²à¸à¸à¸ªà¸à¸à¸§à¹à¸²à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸à¸ `pow(2, 3)` à¹à¸à¹à¸²à¸à¸±à¸ `8` หรืà¸à¹à¸à¸¥à¹à¸² à¸à¸à¸à¸à¸²à¸à¸à¸µà¹à¸¢à¸±à¸à¸¡à¸µà¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸·à¹à¸à¹ สำหรัà¸à¸à¸²à¸£à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¹à¸¥à¸°à¸à¸£à¸§à¸à¸ªà¸à¸ à¸à¸±à¸à¸à¸µà¹à¹à¸§à¹à¸à¹à¸à¸¢à¸¡à¸²à¸à¸¹à¸à¸±à¸à¸à¸µà¸«à¸¥à¸±à¸ + à¸à¸±à¸à¸à¹à¸à¸±à¸ `assert.*` à¸à¸¹à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¹à¸à¹à¸à¸§à¹à¸² `pow` à¸à¸³à¸à¸²à¸à¹à¸à¹à¸à¸²à¸¡à¸à¸µà¹à¸à¸²à¸à¸«à¸§à¸±à¸à¸«à¸£à¸·à¸à¹à¸¡à¹ à¸à¸£à¸à¸à¸µà¹à¹à¸£à¸²à¹à¸à¹à¸à¸±à¸§à¸«à¸à¸¶à¹à¸à¹à¸à¸à¸±à¹à¸à¸à¸·à¸ `assert.equal` มัà¸à¸à¸°à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¸à¸²à¸£à¹à¸à¸´à¸§à¹à¸¡à¸à¸à¹à¹à¸¥à¸°à¹à¸¢à¸à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¹à¸²à¹à¸¡à¹à¹à¸à¹à¸²à¸à¸±à¸ à¸à¸¶à¹à¸à¸à¸£à¸à¸à¸µà¹à¹à¸à¹à¸à¸§à¹à¸²à¸à¸¥à¸¥à¸±à¸à¸à¹à¸à¸à¸ `pow(2, 3)` à¹à¸à¹à¸²à¸à¸±à¸ `8` รึà¹à¸à¸¥à¹à¸² à¸à¸à¸à¸à¸²à¸à¸à¸µà¹à¸¢à¸±à¸à¸¡à¸µà¸à¸à¸´à¸à¸à¸·à¹à¸à¹ à¸à¸à¸à¸à¸²à¸£à¹à¸à¸£à¸µà¸¢à¸à¹à¸à¸µà¸¢à¸à¹à¸¥à¸°à¸à¸£à¸§à¸à¸ªà¸à¸à¸à¹à¸§à¸¢ à¸à¸¶à¹à¸à¹à¸£à¸²à¸à¸°à¸¡à¸²à¹à¸à¸´à¹à¸¡à¸ ายหลัภ-spec สามารà¸à¹à¸£à¸µà¸¢à¸à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸à¸ªà¸à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸à¸à¹à¸£à¸²à¹à¸à¹ à¹à¸£à¸²à¸à¸°à¸¡à¸²à¸à¸¹à¸§à¸´à¸à¸µà¸à¸²à¸£à¸à¸±à¹à¸à¹à¸à¸à¸à¸à¸à¹à¸à¹à¸! +spec à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¸£à¸±à¸à¹à¸à¹ à¹à¸¥à¸°à¸¡à¸±à¸à¸à¸°à¹à¸à¸£à¸±à¸à¹à¸à¸ªà¸à¹à¸à¸µà¹à¸à¸¢à¸¹à¹à¹à¸à¸à¸¥à¹à¸à¸ `it` à¹à¸£à¸²à¸à¸°à¸¡à¸²à¸à¸¹à¹à¸£à¸·à¹à¸à¸à¸à¸µà¹à¸à¸±à¸à¹à¸à¸ ายหลัภ## à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸² -à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¸¢à¸à¸±à¹à¸§à¹à¸à¸¡à¸µà¸«à¸à¹à¸²à¸à¸²à¹à¸à¸à¸à¸µà¹: +à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸¡à¸±à¸à¸à¸°à¹à¸à¹à¸à¹à¸à¸à¸à¸µà¹: -1. à¹à¸à¸µà¸¢à¸ spec à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¸à¸£à¹à¸à¸¡à¸à¸à¸ªà¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸à¸ªà¸´à¸ -2. สรà¹à¸²à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸à¸·à¹à¸à¸à¸à¹à¸ -3. à¹à¸à¸·à¹à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸²à¸¡à¸±à¸à¸à¸³à¸à¸²à¸à¸«à¸£à¸·à¸à¹à¸à¸¥à¹à¸² à¹à¸£à¸²à¸à¸°à¸£à¸±à¸à¹à¸à¸£à¸¡à¹à¸§à¸´à¸£à¹à¸à¸à¸à¸ªà¸à¸ Mocha: [http://mochajs.org/](http://mochajs.org/) (à¹à¸à¸µà¹à¸¢à¸§à¸à¸°à¸à¸à¸´à¸à¸²à¸¢à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡) à¸à¸¶à¹à¸à¸à¸°à¸£à¸±à¸ spec à¸à¸à¸à¸à¸µà¹à¸à¸±à¸à¸à¹à¸à¸±à¸à¸¢à¸±à¸à¹à¸¡à¹à¹à¸ªà¸£à¹à¸ à¸à¹à¸à¸²à¸à¸à¸°à¸¡à¸µ error à¸à¸¶à¹à¸à¸¡à¸² à¹à¸£à¸²à¸à¹à¹à¸à¹à¹à¸à¹à¸à¹à¸à¹à¸£à¸·à¹à¸à¸¢à¹ à¸à¸à¸à¸§à¹à¸²à¸¡à¸±à¸à¸à¸°à¹à¸§à¸´à¸£à¹à¸ -4. à¸à¸à¸à¸à¸µà¹à¹à¸£à¸²à¸¡à¸µà¸à¸²à¸£à¸à¸³à¸à¸²à¸à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸à¸£à¹à¸à¸¡à¸à¸±à¸à¸à¸à¸ªà¸à¸à¹à¸¥à¹à¸§ -5. à¹à¸£à¸²à¹à¸à¸´à¹à¸¡à¸à¸£à¸à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¸¥à¸à¹à¸ spec à¸à¸¶à¹à¸à¸à¸²à¸à¸à¸°à¸¢à¸±à¸à¹à¸¡à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸¢à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸à¸µà¹ à¸à¸à¸ªà¸à¸à¸à¹à¸à¸°à¸¥à¹à¸¡à¹à¸«à¸¥à¸§à¸à¹à¸à¸ -6. à¸à¸¥à¸±à¸à¹à¸à¸à¹à¸ 3 à¸à¸±à¸à¹à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸£à¸°à¸à¸±à¹à¸à¸à¸à¸ªà¸à¸à¸à¹à¸²à¸ -7. à¸à¸³à¸à¹à¸³à¸à¹à¸ 3-6 à¸à¸à¸à¸§à¹à¸²à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸£à¹à¸à¸¡à¹à¸à¹à¸à¸²à¸ +1. à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸à¸³à¸«à¸à¸ (spec) à¹à¸à¸·à¹à¸à¸à¸à¹à¸ à¸à¸£à¹à¸à¸¡à¸à¸±à¸à¹à¸à¸ªà¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸µà¹à¸à¸·à¹à¸à¸à¸²à¸à¸à¸µà¹à¸ªà¸¸à¸ +2. สรà¹à¸²à¸à¸à¸²à¸£à¸à¸´à¸¡à¸à¸¥à¸µà¹à¸¡à¸à¸à¹à¹à¸à¸·à¹à¸à¸à¸à¹à¸ +3. à¹à¸à¸·à¹à¸à¸à¸£à¸§à¸à¸ªà¸à¸à¸§à¹à¸²à¸¡à¸±à¸à¹à¸à¹à¹à¸à¹à¹à¸«à¸¡ à¹à¸£à¸²à¸à¸°à¸£à¸±à¸à¹à¸à¸£à¸¡à¹à¸§à¸´à¸£à¹à¸à¸à¸²à¸£à¸à¸à¸ªà¸à¸ [Mocha](https://mochajs.org/) (à¸à¸°à¸¡à¸µà¸£à¸²à¸¢à¸¥à¸°à¹à¸à¸µà¸¢à¸à¹à¸à¸´à¹à¸¡à¹à¸à¸´à¸¡à¹à¸£à¹à¸§à¹ à¸à¸µà¹) à¸à¸µà¹à¸à¸°à¸£à¸±à¸à¸à¹à¸à¸à¸³à¸«à¸à¸ à¸à¹à¸²à¸à¸±à¸à¸à¹à¸à¸±à¸à¸¢à¸±à¸à¹à¸¡à¹à¸à¸£à¸à¸à¹à¸§à¸ à¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸à¸à¹à¸à¸°à¸à¸¹à¸à¹à¸ªà¸à¸ à¹à¸£à¸²à¸à¸°à¸à¸¢à¸à¸¢à¹à¸à¹à¹à¸à¸à¸à¸à¸§à¹à¸²à¸à¸¸à¸à¸à¸¢à¹à¸²à¸à¸à¸°à¸à¸³à¸à¸²à¸ +4. à¸à¸à¸à¸à¸µà¹à¹à¸£à¸²à¸¡à¸µà¸à¸²à¸£à¸à¸´à¸¡à¸à¸¥à¸µà¹à¸¡à¸à¸à¹à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸à¸£à¸´à¸à¸à¸£à¹à¸à¸¡à¸à¸±à¸à¹à¸à¸ªà¸à¹à¹à¸¥à¹à¸§ +5. à¹à¸£à¸²à¹à¸à¸´à¹à¸¡à¸à¸£à¸à¸µà¸à¸²à¸£à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸²à¹à¸à¹à¸à¸à¹à¸à¸à¸³à¸«à¸à¸ à¸à¸¶à¹à¸à¸à¸²à¸à¸¢à¸±à¸à¹à¸¡à¹à¹à¸à¹à¸£à¸à¸à¸£à¸±à¸à¹à¸à¸¢à¸à¸²à¸£à¸à¸´à¸¡à¸à¸¥à¸µà¹à¸¡à¸à¸à¹ à¹à¸à¸ªà¸à¹à¹à¸£à¸´à¹à¸¡à¸¥à¹à¸¡à¹à¸«à¸¥à¸§ +6. à¸à¸¥à¸±à¸à¹à¸à¸à¸³à¸à¹à¸ 3 à¸à¸£à¸±à¸à¹à¸à¹à¸à¸²à¸£à¸à¸´à¸¡à¸à¸¥à¸µà¹à¸¡à¸à¸à¹à¸à¸à¸à¸£à¸°à¸à¸±à¹à¸à¹à¸à¸ªà¸à¹à¹à¸¡à¹à¸¡à¸µà¸à¹à¸à¸à¸´à¸à¸à¸¥à¸²à¸ +7. à¸à¸³à¸à¹à¸ 3-6 à¸à¹à¸³à¹à¸à¹à¸£à¸·à¹à¸à¸¢à¹ à¸à¸à¸à¸£à¸°à¸à¸±à¹à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸¥à¸´à¸à¸µà¹à¹à¸ªà¸£à¹à¸à¸ªà¸¡à¸à¸¹à¸£à¸à¹ -à¸à¸±à¸à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¹à¸à¹à¸à¹à¸à¸ *วà¸à¸à¹à¸³* à¹à¸£à¸²à¹à¸à¸µà¸¢à¸ spec à¸à¸³à¸à¸²à¸ à¸à¸à¸ªà¸à¸ à¸à¸à¸à¹à¸²à¸ à¹à¸¥à¹à¸§à¸à¹à¹à¸à¸µà¸¢à¸à¸à¸à¸ªà¸à¸à¹à¸à¸´à¹à¸¡ à¸à¸³à¹à¸«à¹à¸¡à¸±à¸à¸à¹à¸²à¸à¸à¸µà¸ à¸à¸à¸ªà¸¸à¸à¸à¹à¸²à¸¢à¹à¸£à¸²à¸à¹à¹à¸à¹à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸µà¹à¹à¸à¹à¹à¸à¹à¹à¸¥à¸°à¸à¸à¸ªà¸à¸à¸ªà¸³à¸«à¸£à¸±à¸à¸¡à¸±à¸ +à¸à¸±à¸à¸à¸±à¹à¸ à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸¶à¸à¹à¸à¹à¸à¹à¸à¸ *วà¸à¸à¹à¸³ (iterative)* à¹à¸£à¸²à¹à¸à¸µà¸¢à¸à¸à¹à¸à¸à¸³à¸«à¸à¸ à¸à¸´à¸¡à¸à¸¥à¸µà¹à¸¡à¸à¸à¹à¸¡à¸±à¸ à¸à¸£à¸§à¸à¸ªà¸à¸à¹à¸«à¹à¹à¸à¹à¹à¸à¸§à¹à¸²à¹à¸à¸ªà¸à¹à¸à¹à¸²à¸ à¸à¸²à¸à¸à¸±à¹à¸à¹à¸à¸µà¸¢à¸à¹à¸à¸ªà¸à¹à¹à¸à¸´à¹à¸¡ à¸à¸£à¸§à¸à¸§à¹à¸²à¹à¸à¸ªà¸à¹à¸à¸³à¸à¸²à¸à¹à¸«à¸¡ à¹à¸¥à¹à¸§à¸à¹à¸à¸³à¹à¸à¸à¸à¸µà¹à¸à¹à¸à¹à¸ à¸à¹à¸²à¸¢à¸à¸µà¹à¸ªà¸¸à¸à¹à¸£à¸²à¸à¸°à¹à¸à¹à¸à¸±à¹à¸à¸à¸²à¸£à¸à¸´à¸¡à¸à¸¥à¸µà¹à¸¡à¸à¸à¹à¸à¸µà¹à¹à¸à¹à¸à¸²à¸à¹à¸à¹à¸à¸£à¸´à¸ à¸à¸£à¹à¸à¸¡à¸à¸±à¸à¹à¸à¸ªà¸à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸¡à¸±à¸ -มาà¸à¸¹à¸à¸±à¹à¸à¸à¸à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸µà¹à¹à¸à¸à¸£à¸à¸µà¸à¸±à¸§à¸à¸¢à¹à¸²à¸à¸à¸à¸à¹à¸£à¸² +มาà¸à¸¹à¸à¸£à¸°à¸à¸§à¸à¸à¸²à¸£à¸à¸±à¸à¸à¸²à¸à¸µà¹à¹à¸à¸à¸£à¸à¸µà¸à¸à¸à¹à¸£à¸²à¹à¸à¹à¸à¸£à¸¹à¸à¸à¸£à¸£à¸¡à¸à¸±à¸à¸à¸µà¸à¸§à¹à¸² -à¸à¸±à¹à¸à¸à¸à¸à¹à¸£à¸à¹à¸ªà¸£à¹à¸à¹à¸à¹à¸¥à¹à¸§: à¹à¸£à¸²à¸¡à¸µ spec à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¸ªà¸³à¸«à¸£à¸±à¸ `pow` à¸à¸à¸à¸à¸µà¹à¸à¹à¸à¸à¸à¸µà¹à¸à¸°à¸ªà¸£à¹à¸²à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸ ลà¸à¸à¹à¸à¹à¹à¸¥à¸à¸£à¸²à¸£à¸µà¹ JavaScript สัà¸à¸ªà¸à¸à¸ªà¸²à¸¡à¸à¸±à¸§à¹à¸à¸·à¹à¸à¸£à¸±à¸à¸à¸à¸ªà¸à¸à¸à¸¹ à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸¹à¸§à¹à¸²à¸¡à¸±à¸à¸à¸³à¸à¸²à¸ (à¸à¹à¸à¸°à¸¥à¹à¸¡à¹à¸«à¸¥à¸§à¸«à¸¡à¸à¹à¸«à¸¥à¸°) +à¸à¸à¸à¸à¸µà¹à¹à¸£à¸²à¸à¸³à¸à¸±à¹à¸à¸à¸à¸à¹à¸£à¸à¹à¸ªà¸£à¹à¸à¹à¸¥à¹à¸§ à¸à¸·à¸à¸¡à¸µà¸à¹à¸à¸à¸³à¸«à¸à¸à¹à¸à¸·à¹à¸à¸à¸à¹à¸à¸à¸à¸ `pow` à¸à¸¶à¹à¸à¸à¹à¸à¸à¸à¸°à¸¥à¸à¸¡à¸·à¸à¹à¸à¸µà¸¢à¸à¸à¸´à¸¡à¸à¸¥à¸µà¹à¸¡à¸à¸à¹ à¹à¸£à¸²à¸¡à¸²à¸¥à¸à¸à¹à¸à¹à¹à¸¥à¸à¸£à¸²à¸£à¸µ JavaScript à¸à¸²à¸à¸à¸±à¸§à¹à¸à¸·à¹à¸à¸£à¸±à¸à¹à¸à¸ªà¸à¹à¸à¸¹ à¹à¸à¹à¹à¸à¸·à¹à¸à¸à¸°à¹à¸à¹à¹à¸«à¹à¸à¸§à¹à¸²à¹à¸à¸ªà¸à¹à¹à¸«à¸¥à¹à¸²à¸à¸±à¹à¸à¸à¸³à¸à¸²à¸à¸à¸¢à¸¹à¹ (à¸à¸à¸à¸à¸µà¹à¹à¸à¸ªà¸à¹à¸à¸±à¹à¸à¸«à¸¡à¸à¸à¹à¸²à¸à¸°à¸¥à¹à¸¡à¹à¸«à¸¥à¸§) -## à¸à¸à¸ªà¸à¸ spec à¸à¸±à¸! +## à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸µà¹à¹à¸à¹à¸à¸²à¸à¸à¸£à¸´à¸ -à¹à¸à¸à¸à¸à¹à¸§à¸¢à¸ªà¸à¸à¸à¸µà¹ à¹à¸£à¸²à¸à¸°à¹à¸à¹à¹à¸¥à¸à¸£à¸²à¸£à¸µ JavaScript สำหรัà¸à¸à¸à¸ªà¸à¸à¸à¸±à¸à¸à¹à¸à¹à¸à¸à¸µà¹: +à¹à¸à¸à¸à¹à¸£à¸µà¸¢à¸à¸à¸µà¹ à¹à¸£à¸²à¸à¸°à¹à¸à¹à¹à¸¥à¸à¸£à¸²à¸£à¸µ JavaScript à¸à¹à¸à¹à¸à¸à¸µà¹à¹à¸à¸à¸²à¸£à¸à¸à¸ªà¸à¸: -- Mocha: [http://mochajs.org/](http://mochajs.org/) -- à¹à¸à¸£à¸¡à¹à¸§à¸´à¸£à¹à¸à¸«à¸¥à¸±à¸: มัà¸à¹à¸«à¹à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸²à¸£à¸à¸à¸ªà¸à¸à¸à¸±à¹à¸§à¹à¸à¸£à¸§à¸¡à¸à¸¶à¸ `describe` à¹à¸¥à¸° `it` à¹à¸¥à¸°à¸à¸±à¸à¸à¹à¸à¸±à¸à¸«à¸¥à¸±à¸à¸à¸µà¹à¸£à¸±à¸à¸à¸à¸ªà¸à¸ -- Chai: [http://chaijs.com](http://chaijs.com) -- à¹à¸¥à¸à¸£à¸²à¸£à¸µà¸à¸µà¹à¸¡à¸µ assertions มาà¸à¸¡à¸²à¸¢ มัà¸à¸à¹à¸§à¸¢à¹à¸«à¹à¹à¸à¹ assertions à¸à¸µà¹à¹à¸à¸à¸à¹à¸²à¸à¸à¸±à¸à¹à¸à¹à¸¡à¸²à¸à¸¡à¸²à¸¢ à¸à¸à¸à¸à¸µà¹à¹à¸£à¸²à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹ `assert.equal` -- Sinon: [http://sinonjs.org/](http://sinonjs.org/) -- à¹à¸¥à¸à¸£à¸²à¸£à¸µà¸ªà¸³à¸«à¸£à¸±à¸à¸ªà¸à¸à¹à¸à¸¡à¸à¸±à¸à¸à¹à¸à¸±à¸ à¹à¸¥à¸µà¸¢à¸à¹à¸à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸à¸à¸±à¸§à¹à¸¥à¸°à¸à¸·à¹à¸à¹ à¹à¸£à¸²à¸à¸°à¹à¸à¹à¸¡à¸±à¸à¹à¸à¸ ายหลัภ+- [Mocha](https://mochajs.org/) -- à¹à¸à¹à¸à¹à¸à¸£à¸¡à¹à¸§à¸´à¸£à¹à¸à¸«à¸¥à¸±à¸ à¹à¸«à¹à¸à¸±à¸à¸à¹à¸à¸±à¸à¸à¸à¸ªà¸à¸à¸à¸±à¹à¸§à¹à¸à¸à¹à¸²à¸à¹ รวมà¸à¸±à¹à¸ `describe` à¹à¸¥à¸° `it` à¸à¸¥à¸à¸à¸à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¸«à¸¥à¸±à¸à¸à¸µà¹à¹à¸à¹à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸ªà¸à¸ +- [Chai](https://www.chaijs.com/) -- à¹à¸¥à¸à¸£à¸²à¸£à¸µà¸à¸µà¹à¸¡à¸µ assertions มาà¸à¸¡à¸²à¸¢ à¸à¹à¸§à¸¢à¹à¸«à¹à¹à¸à¹ assertions หลาà¸à¸«à¸¥à¸²à¸¢à¹à¸à¸à¹à¸à¹ สำหรัà¸à¸à¸à¸à¸à¸µà¹à¹à¸£à¸²à¸à¹à¸à¸à¸à¸²à¸£à¹à¸à¹ `assert.equal` +- [Sinon](https://sinonjs.org/) -- à¹à¸¥à¸à¸£à¸²à¸£à¸µà¸à¸µà¹à¹à¸à¹à¹à¸à¹à¸²à¸à¸¹à¸à¸±à¸à¸à¹à¸à¸±à¸ à¸à¸³à¸¥à¸à¸à¸à¸²à¸£à¸à¸³à¸à¸²à¸à¸à¸à¸à¸à¸±à¸à¸à¹à¸à¸±à¸à¹à¸à¸à¸±à¸§ à¹à¸¥à¸°à¸à¸·à¹à¸à¹ à¹à¸£à¸²à¸à¸°à¸à¹à¸à¸à¹à¸à¹à¸¡à¸±à¸à¹à¸à¸ ายหลัภ-à¹à¸¥à¸à¸£à¸²à¸£à¸µà¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¹à¸«à¸¡à¸²à¸°à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸ªà¸à¸à¸à¸±à¹à¸à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸¥à¸°à¸à¸±à¹à¸à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ à¹à¸à¸à¸µà¹à¸à¸µà¹à¹à¸£à¸²à¸à¸°à¸à¸´à¸à¸²à¸£à¸à¸²à¸à¸±à¸§à¹à¸à¸£à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹ +à¹à¸¥à¸à¸£à¸²à¸£à¸µà¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸ªà¸²à¸¡à¸²à¸£à¸à¹à¸à¹à¸à¸à¸ªà¸à¸à¹à¸à¹à¸à¸±à¹à¸à¸à¸±à¹à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹à¹à¸¥à¸°à¹à¸à¸´à¸£à¹à¸à¹à¸§à¸à¸£à¹ à¹à¸à¹à¸à¸µà¹à¸à¸µà¹à¹à¸£à¸²à¸à¸°à¸à¸¹à¸à¸à¸¶à¸à¸à¸£à¸à¸µà¸à¸à¹à¸à¸£à¸²à¸§à¹à¹à¸à¸à¸£à¹ -หà¸à¹à¸² HTML à¹à¸à¹à¸¡à¸£à¸¹à¸à¹à¸à¸à¸à¸£à¹à¸à¸¡à¹à¸à¸£à¸¡à¹à¸§à¸´à¸£à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¹à¸¥à¸° spec à¸à¸à¸ `pow`: +หà¸à¹à¸² HTML à¹à¸à¹à¸¡à¸£à¸¹à¸à¹à¸à¸à¸à¸µà¹à¸¡à¸µà¹à¸à¸£à¸¡à¹à¸§à¸´à¸£à¹à¸à¹à¸«à¸¥à¹à¸²à¸à¸µà¹à¸à¸£à¹à¸à¸¡à¸à¸±à¸à¸à¹à¸à¸à¸³à¸«à¸à¸à¸à¸à¸ `pow`: ```html src="index.html" ``` -หà¸à¹à¸²à¹à¸à¹à¸à¸à¸à¸à¹à¸à¹à¸ 5 สà¹à¸§à¸: +หà¸à¹à¸²à¸à¸µà¹à¸à¸£à¸°à¸à¸à¸à¸à¹à¸§à¸¢ 5 สà¹à¸§à¸: -1. `
` -- à¹à¸à¸´à¹à¸¡à¹à¸¥à¸à¸£à¸²à¸£à¸µà¸à¸à¸à¸à¸¸à¸à¸à¸¥à¸à¸µà¹à¸ªà¸²à¸¡à¹à¸¥à¸°à¸ªà¹à¸à¸¥à¹à¸ªà¸³à¸«à¸£à¸±à¸à¸à¸²à¸£à¸à¸à¸ªà¸à¸ -2. `