技術ブログ株式会社エーピーコミュニケーションズの技術ブログです。エーピーコミュニケーションズの技術ブログです。>始めに先進サービス開発事業部の山岡です。GAEにはローカルでクラウドの環境をそこそこ再現できるSDKが用意されており、疑似的にDB(Datastore)等が再現され動作確認を行うことができます。実環境へのアップには1,2分はかかり、ちょくちょくアップしながら動作確認をしているとそれだけで結構な時間が費やされてしまうため、手元で迅速に確認できるのはとてもありがたいのです。単体テストも同様に疑似的なDBと連携しながら行うことができるので、わざわざ自分でDockerで用意したりする必要はありません(Datastoreの場合はそもそもマネージドサービス)。パッケージ)の動作は方々で言われているように極めて緩慢であり、手元の環境で頻繁に単体試験を行うような事は実質的に不可能と言ってよいと思います。i7等のそれなりに早いCPUを使っているマシンであっても1,2秒はかかってしまいます。テストは1つや2つでは済みませんので、それが累計されると非常に大きなオーバーヘッドになってしまいます。これは先に挙げたPythonプロセスを使い回すことでオーバーヘッドを削減してくれるライブラリであり、かなりの改善が見込めます。使い方は簡単でテスト冒頭の環境立ち上げを次のように置き換えればOKです。test但し、何も考えずこれに置き換えるだけだと結局毎回PythonプロセスのUp/Downが走ってしまいます。するだけで、プロセスの立ち上げは行いません。し更にDatastoreやMemcacheの内容を消去します。みたいなのを作っていました......)。使うのが良いでしょう。次のように書くことでテスト全体の前処理・後処理を行うことができます。してもリセットされない次の3つのパッケージをインポートしていない場合それぞれ該当するクリーナーが動作しません。呼ぶことで並列試験を行うことができます。何も考えず動かすとDatastoreが競合するのでNamespaceを使いテスト毎に環境を分離する必要があります。test実アプリ内でNamespaceを使っているとこの手段が使えないので、その場合は大人しくCIの独立環境で並列試験するしかないでしょう。等を駆使することで変更があったパッケージのみのテストが実行できます。エーピーコミュニケーションズネットワーク、サーバ、ミドルウェア、仮想化、OpenFlow、DBなどなど、インフラ系メインで提案から構築、運用までをしています。月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。