2

プラグインを使用していくつかの GAE モデルをテストしようとしnoseています。noseGAE

チュートリアルでは、このチュートリアルhttp://farmdev.com/projects/nosegae/webappのようなフレームワーク セットアップ を使用してテストを実行する方法を示します。しかし、私はdjangoを使用しているので、私は次のとおりです:main.py

import os

os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

import django.core.handlers.wsgi
app = django.core.handlers.wsgi.WSGIHandler()

鼻をすすろうとすると:

$ nosetests --with-gae

私は得る:

Traceback (most recent call last):
  File "c:\Python27\Scripts\nosetests-script.py", line 8, in <module>
    load_entry_point('nose==1.2.1', 'console_scripts', 'nosetests')()
  File "C:\Python27\lib\site-packages\nose-1.2.1-py2.7.egg\nose\core.py", line 118, in __init__
    **extra_args)
  File "C:\Python27\lib\unittest\main.py", line 94, in __init__
    self.parseArgs(argv)
  File "C:\Python27\lib\site-packages\nose-1.2.1-py2.7.egg\nose\core.py", line 135, in parseArgs
    self.config.configure(argv, doc=self.usage())
  File "C:\Python27\lib\site-packages\nose-1.2.1-py2.7.egg\nose\config.py", line 338, in configure
    self.plugins.configure(options, self)
  File "C:\Python27\lib\site-packages\nose-1.2.1-py2.7.egg\nose\plugins\manager.py", line 284, in configure
    cfg(options, config)
  File "C:\Python27\lib\site-packages\nose-1.2.1-py2.7.egg\nose\plugins\manager.py", line 99, in __call__
    return self.call(*arg, **kw)
  File "C:\Python27\lib\site-packages\nose-1.2.1-py2.7.egg\nose\plugins\manager.py", line 167, in simple
    result = meth(*arg, **kw)
  File "build\bdist.win32\egg\nosegae.py", line 80, in configure
ImportError: No module named dev_appserver

djangoの依存関係が原因だと思いましたが、次に単一のファイルを実行しようとしました:

import unittest
from google.appengine.ext import testbed

class TestServicios(unittest.TestCase):
    def setUP(self):
        self.testbed = testbed.Testbed()
        self.testbed.activate()
        self.testbed.init_datastore_v3_stub()

    def tearDown(self):
        self.testbed.deactivate()

if __name__ == '__main__':
    unittest.main()

それで:

$ python test_models.py

と:

Traceback (most recent call last):
  File "test_models.py", line 2, in <module>
    from google.appengine.ext import testbed
ImportError: No module named google.appengine.ext

GAE 情報のリリース: 1.7.3 ランタイム: python27

誰かがここで何が起こっているか知っていますか? ありがとう。

4

2 に答える 2

2

このドキュメントをお勧めします。これは、testrunner.py を記述してテスト クラスをロードする方法の例を示しているため、ミニ テスト フレームワークを作成できます。具体的には、次のコードが探しているものです。

sys.path.insert(0, sdk_path)
import dev_appserver
dev_appserver.fix_sys_path()

sdk_path は、google_appengine SDK がある場所です。たとえば、Linux では /usr/local/google_appengine になります。

于 2012-12-19T22:34:33.380 に答える
1

django を使用している場合は、nose-gae の代わりに django テスト インフラストラクチャを使用することをお勧めします。

于 2012-12-12T22:49:27.173 に答える