Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Meteor 1.3 Tes,ng 3/6 Meteor ษڧձ in ΪʔΫΦϑΟεܙൺण େ ৴ (OSHIRO, Nobutaka)
Slide 2
Slide 2 text
Who? • גࣜձࣾJ-hack CTO݉ϓϩάϥϚʔ • MeteorΞϓϦاըɾ։ൃɾӡ༻ɾอक • Meteorྺ 10ϲ݄ • Twi5er: @notanota • GitHub: @nobutakaoshiro • Qiita: @n-oshiro
Slide 3
Slide 3 text
My Recent Ac*vity • 2016 • 1/23: Meteorษڧձൃද • 1/30: Meteor iOSΞϓϦ։ൃϋϯζ Φϯओ࠵ • 3/6: Meteorษڧձൃද <- ͍·͜͜
Slide 4
Slide 4 text
Meteor 1.3 Tes,ng
Slide 5
Slide 5 text
ຊͷൃද༰ Meteor 1.3-beta.12 Λجʹ͍ͯ͠·͢ɻ Metoer 1.3 ਖ਼ࣜϦϦʔε࣌ʹ༷͕มΘΔՄೳੑ͕͋Γ·͢ɻ
Slide 6
Slide 6 text
ΞδΣϯμ • ςετͱ • ςετछྨʹ͍ͭͯ • Tes%ng in Meteor 1.3ɹ • Full app tes%ng & Module tes%ngɹ • DEMOɹ
Slide 7
Slide 7 text
ςετͱ ιϑτΣΞςετʢso#ware testʣɺίϯϐϡʔλͷϓϩά ϥϜΛ࣮ߦ͠ɺਖ਼͘͠ಈ࡞͢Δ͔ɺඪͱ࣭ͨ͠ʹ౸ୡ͍ͯ͠ Δ͔ɺҙਤ͠ͳ͍ಈ࡞Λ͠ͳ͍͔Ͳ͏͔Λ֬ೝ͢Δ࡞ۀͷ͜ͱͰ ͋Δɻ — ιϑτΣΞςετ - Wikipedia
Slide 8
Slide 8 text
ςετΛॻ͘͜ͱͰ... • ߴ࣭ͳ(όάͷগͳ͍)ঢ়ଶΛҡ࣋Ͱ͖Δ • ίʔυͷमਖ਼͕༰қʹͳΔ • ࣗ৴Λ࣋ͬͯίʔυͷϦϑΝΫλϦϯά͕Ͱ͖Δ • όάͷൃݟʹͭͳ͕Δ • ظ͞ΕΔಈ࡞ΛυΩϡϝϯτԽͰ͖Δ
Slide 9
Slide 9 text
ςετछྨ(1/2) • ୯ମςετ (Unit test) • ͋ΔϞδϡʔϧ͕ਖ਼͘͠ಈ࡞͢Δ͔Λ͔֬ΊΔ • ݁߹ςετ(Integra.on test) • ෳϞδϡʔϧ͕ڠௐͯ͠ਖ਼͘͠ಈ͘͜ͱΛ͔֬ΊΔ • ड͚ೖΕςετɺe2eςετ(Acceptance or end-to-end test) • ΞϓϦશମͷಈ࡞ΛϒϥβϨϕϧͰݕূ͢Δ
Slide 10
Slide 10 text
ςετछྨ(2/2) • ෛՙςετ (Load test, Stress test) • ෛՙΛ͔͚ΔͱͲ͏ͳΔͷ͔ɺͲ͜·Ͱ͑ΒΕΔͷ͔Λ֬ ೝ͢Δ • ܧଓతΠϯςάϨʔγϣϯςετ (Con0nuous Integra0on test) • ఆظతɺίϛοτ୯ҐͰςετΛ࣮ߦ͢Δ͜ͱͰෆ۩߹Λૣ ظൃݟ͠ɺΤϥʔ͕ແ͍ঢ়ଶΛอͭ
Slide 11
Slide 11 text
Tes$ng in Meteor 1.3
Slide 12
Slide 12 text
Tes$ng in Meteor 1.3 (1/3) • meteor create ࣌ʹ package.json ͱ tests.js ͕ࣗಈੜ͞Ε ΔΑ͏ʹͳͬͨ • Meteor 1.3 ͰσϑΥϧτͰ mocha ͱ Chai ͕༻Մೳ • prac7calmeteor:mocha package ͷՃ • prac7calmeteor:chai package Ұॹʹಋೖ͞ΕΔ
Slide 13
Slide 13 text
Tes$ng in Meteor 1.3 (2/3) // tests.js import assert from "assert"; import { name as appName } from "./app.js"; describe("app", () => { it("should export its name", () => { assert.strictEqual(appName, "app"); }); });
Slide 14
Slide 14 text
Tes$ng in Meteor 1.3 (3/3) • Meteor 1.3 ͷ Module ػೳͰςετ͕؆୯͔ͭಡΈ͘͢ॻ͚ Δ • ৽͍͠ meteor test ίϚϯυͷՃ • Meteor 1.3 ͔Β tests/ σΟϨΫτϦ֎ʹஔ͍ͯ͋Δ *.app- test[s].*, *.tests.* ͷϑΝΠϧࣗಈతʹಡΈࠐ·Εͳ ͍Α͏ʹͳͬͨ
Slide 15
Slide 15 text
Full app tes*ng & Module tes*ng
Slide 16
Slide 16 text
# Full app testing (integration test) meteor test --full-app --driver-package # Module testing (Unit test) meteor test --driver-package
Slide 17
Slide 17 text
DEMO
Slide 18
Slide 18 text
# Install Meteor curl https://install.meteor.com/ | sh # Create Meteor app meteor create app --release 1.3-beta.12 cd app # Install node_modules npm install # Run meteor app meteor # Run meteor test meteor test --driver-package practicalmeteor:mocha --port 3100 ./ meteor test --full-app --driver-package practicalmeteor:mocha --port 3100 ./
Slide 19
Slide 19 text
Conclusion • Meteor 1.3 ͔Β mocha ͱ chai ͕σϑΥϧτͰར༻Մೳʹ • Module ػೳͰςετ͕ॻ͖͘͢ͳͬͨ • Meteor 1.3 ͷϕʔλ൛ͷͨΊɺࠓޙ༷͕มߋ͞ΕΔ͔͠Ε ͳ͍ͷͰࠓޙͷಈʹ
Slide 20
Slide 20 text
References • Meteor Guide v1.3 Migra2on (Dra6) h9p:/ /guide.meteor.com/v1.3/1.3-migra2on.html • Meteor Guide tes2ng.md (Dra6) h9ps:/ /github.com/meteor/guide/blob/tes2ng-modules-content/ content/tes2ng.md • GitHub - meteor/todos h9ps:/ /github.com/meteor/todos
Slide 21
Slide 21 text
ࠂ
Slide 22
Slide 22 text
ʦ࿕ใʧ͜͏ͬͯReactΛMeteor1.3Ͱ͏ΜͩϋϯζΦϯʂ h"p:/ /meteor-tokyo.connpass.com/event/27388/ 3/26() 13:00-17:30 ։࠵༧ఆ
Slide 23
Slide 23 text
Q&A
Slide 24
Slide 24 text
THANK YOU!