{"type":"rich","width":"100%","author_name":"griefworker","provider_url":"https://hatena.blog","provider_name":"Hatena Blog","author_url":"https://blog.hatena.ne.jp/griefworker/","version":"1.0","categories":["Python","GAE"],"description":"Google App Engine SDK for Python \u306b\u306f\u3001\u5358\u4f53\u30c6\u30b9\u30c8\u7528\u306b\u5404\u30b5\u30fc\u30d3\u30b9\u306e\u30b9\u30bf\u30d6\u304c\u63d0\u4f9b\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u306e\u30b9\u30bf\u30d6\u3068 unittest \u3092\u4f7f\u3048\u3070\u3001\u30ed\u30fc\u30ab\u30eb\u74b0\u5883\u3067 GAE \u7528\u30a2\u30d7\u30ea\u306e\u5358\u4f53\u30c6\u30b9\u30c8\u304c\u53ef\u80fd\u3067\u3059\u3002GAE/Python \u3067 unittest \u3092\u4f7f\u3063\u3066\u3001\u5358\u4f53\u30c6\u30b9\u30c8\u3092\u884c\u3046\u30b5\u30f3\u30d7\u30eb\u306f\u6b21\u306e\u901a\u308a\u3002 #!/usr/bin/env python #encoding: utf-8 import os import sys # \u74b0\u5883\u8a2d\u5b9a # \u3053\u308c\u3092\u3057\u306a\u3044\u3068 GAE \u306e\u30e2\u30b8\u30e5\u30fc\u30eb\u3092\u30a4\u30f3\u30dd\u30fc\u30c8\u3067\u304d\u306a\u3044\u3002 # \u30c6\u30b9\u30c8\u5bfe\u8c61\u306e\u30af\u30e9\u30b9\u3082\u540c\u69d8\u3002 # \u3053\u3053\u3092\u81ea\u5206\u306e\u74b0\u5883\u306b\u5408\u308f\u305b\u3066\u66f8\u304d\u5909\u3048\u307e\u3059 GAE_HO\u2026","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftnakamura.hatenablog.com%2Fentry%2F20100215%2Fgoogle_app_engine_python_unittest\" title=\"Google App Engine/Python \u3067\u5358\u4f53\u30c6\u30b9\u30c8 - present\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","url":"https://tnakamura.hatenablog.com/entry/20100215/google_app_engine_python_unittest","blog_url":"https://tnakamura.hatenablog.com/","image_url":null,"height":"190","title":"Google App Engine/Python \u3067\u5358\u4f53\u30c6\u30b9\u30c8","blog_title":"present","published":"2010-02-15 00:00:00"}