Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Meteor 1.3 Testing (beta)
Search
Nobutaka OSHIRO
March 06, 2016
Technology
2
1.3k
Meteor 1.3 Testing (beta)
2016.3.6 の Meteor 勉強会の発表資料です。
Nobutaka OSHIRO
March 06, 2016
Tweet
Share
More Decks by Nobutaka OSHIRO
See All by Nobutaka OSHIRO
190828 VSCode + Remote Development ExtensionでElm爆速開発環境構築
notakaos
0
140
GraphQL勉強会 2017.6.7
notakaos
5
1k
Other Decks in Technology
See All in Technology
CDKコード品質UP!ナイスな自作コンストラクタを作るための便利インターフェース
harukasakihara
2
240
マルチプロダクト環境におけるSREの役割 / SRE NEXT 2025 lunch session
sugamasao
1
760
三視点LLMによる複数観点レビュー
mhlyc
0
230
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
39k
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
520
QAを早期に巻き込む”って どうやるの? モヤモヤから抜け出す実践知
moritamasami
2
100
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
240
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
610
無理しない AI 活用サービス / #jazug
koudaiii
0
100
Autify Company Deck
autifyhq
2
44k
AIでテストプロセス自動化に挑戦する
sakatakazunori
1
550
〜『世界中の家族のこころのインフラ』を目指して”次の10年”へ〜 SREが導いたグローバルサービスの信頼性向上戦略とその舞台裏 / Towards the Next Decade: Enhancing Global Service Reliability
kohbis
3
1.5k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Designing Experiences People Love
moore
142
24k
Speed Design
sergeychernyshev
32
1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Site-Speed That Sticks
csswizardry
10
700
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Designing for humans not robots
tammielis
253
25k
Optimizing for Happiness
mojombo
379
70k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Embracing the Ebb and Flow
colly
86
4.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
Transcript
Meteor 1.3 Tes,ng 3/6 Meteor ษڧձ in ΪʔΫΦϑΟεܙൺण େ ৴
(OSHIRO, Nobutaka)
Who? • גࣜձࣾJ-hack CTO݉ϓϩάϥϚʔ • MeteorΞϓϦاըɾ։ൃɾӡ༻ɾอक • Meteorྺ 10ϲ݄ •
Twi5er: @notanota • GitHub: @nobutakaoshiro • Qiita: @n-oshiro
My Recent Ac*vity • 2016 • 1/23: Meteorษڧձൃද • 1/30:
Meteor iOSΞϓϦ։ൃϋϯζ Φϯओ࠵ • 3/6: Meteorษڧձൃද <- ͍·͜͜
Meteor 1.3 Tes,ng
ຊͷൃද༰ Meteor 1.3-beta.12 Λجʹ͍ͯ͠·͢ɻ Metoer 1.3 ਖ਼ࣜϦϦʔε࣌ʹ༷͕มΘΔՄೳੑ͕͋Γ·͢ɻ
ΞδΣϯμ • ςετͱ • ςετछྨʹ͍ͭͯ • Tes%ng in Meteor 1.3ɹ
• Full app tes%ng & Module tes%ngɹ • DEMOɹ
ςετͱ ιϑτΣΞςετʢso#ware testʣɺίϯϐϡʔλͷϓϩά ϥϜΛ࣮ߦ͠ɺਖ਼͘͠ಈ࡞͢Δ͔ɺඪͱ࣭ͨ͠ʹ౸ୡ͍ͯ͠ Δ͔ɺҙਤ͠ͳ͍ಈ࡞Λ͠ͳ͍͔Ͳ͏͔Λ֬ೝ͢Δ࡞ۀͷ͜ͱͰ ͋Δɻ — ιϑτΣΞςετ - Wikipedia
ςετΛॻ͘͜ͱͰ... • ߴ࣭ͳ(όάͷগͳ͍)ঢ়ଶΛҡ࣋Ͱ͖Δ • ίʔυͷमਖ਼͕༰қʹͳΔ • ࣗ৴Λ࣋ͬͯίʔυͷϦϑΝΫλϦϯά͕Ͱ͖Δ • όάͷൃݟʹͭͳ͕Δ •
ظ͞ΕΔಈ࡞ΛυΩϡϝϯτԽͰ͖Δ
ςετछྨ(1/2) • ୯ମςετ (Unit test) • ͋ΔϞδϡʔϧ͕ਖ਼͘͠ಈ࡞͢Δ͔Λ͔֬ΊΔ • ݁߹ςετ(Integra.on test)
• ෳϞδϡʔϧ͕ڠௐͯ͠ਖ਼͘͠ಈ͘͜ͱΛ͔֬ΊΔ • ड͚ೖΕςετɺe2eςετ(Acceptance or end-to-end test) • ΞϓϦશମͷಈ࡞ΛϒϥβϨϕϧͰݕূ͢Δ
ςετछྨ(2/2) • ෛՙςετ (Load test, Stress test) • ෛՙΛ͔͚ΔͱͲ͏ͳΔͷ͔ɺͲ͜·Ͱ͑ΒΕΔͷ͔Λ֬ ೝ͢Δ
• ܧଓతΠϯςάϨʔγϣϯςετ (Con0nuous Integra0on test) • ఆظతɺίϛοτ୯ҐͰςετΛ࣮ߦ͢Δ͜ͱͰෆ۩߹Λૣ ظൃݟ͠ɺΤϥʔ͕ແ͍ঢ়ଶΛอͭ
Tes$ng in Meteor 1.3
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 Ұॹʹಋೖ͞ΕΔ
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"); }); });
Tes$ng in Meteor 1.3 (3/3) • Meteor 1.3 ͷ Module
ػೳͰςετ͕؆୯͔ͭಡΈ͘͢ॻ͚ Δ • ৽͍͠ meteor test ίϚϯυͷՃ • Meteor 1.3 ͔Β tests/ σΟϨΫτϦ֎ʹஔ͍ͯ͋Δ *.app- test[s].*, *.tests.* ͷϑΝΠϧࣗಈతʹಡΈࠐ·Εͳ ͍Α͏ʹͳͬͨ
Full app tes*ng & Module tes*ng
# Full app testing (integration test) meteor test --full-app --driver-package
<driver-package> # Module testing (Unit test) meteor test --driver-package <driver-package>
DEMO
# 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 ./
Conclusion • Meteor 1.3 ͔Β mocha ͱ chai ͕σϑΥϧτͰར༻Մೳʹ •
Module ػೳͰςετ͕ॻ͖͘͢ͳͬͨ • Meteor 1.3 ͷϕʔλ൛ͷͨΊɺࠓޙ༷͕มߋ͞ΕΔ͔͠Ε ͳ͍ͷͰࠓޙͷಈʹ
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
ࠂ
ʦ࿕ใʧ͜͏ͬͯReactΛMeteor1.3Ͱ͏ΜͩϋϯζΦϯʂ h"p:/ /meteor-tokyo.connpass.com/event/27388/ 3/26() 13:00-17:30 ։࠵༧ఆ
Q&A
THANK YOU!