給定一個測試用例:進口不妥善處理,同時運行在多進程nosetests模式
import unittest
import mock
class TestTest(unittest.TestCase):
def test_test(self):
print dir(__import__('google'))
with mock.patch('google.appengine.api.urlfetch.fetch'):
pass
-
$ nosetests --with-gae --processes=0
Ran 1 test in 0.187s
OK
-
$ nosetests --with-gae --processes=1
======================================================================
ERROR: test_test (test_test.TestTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/sadovnychyi/example/test_test.py", line 8, in test_test
with mock.patch('google.appengine.api.urlfetch.fetch'):
File "/usr/local/lib/python2.7/site-packages/mock.py", line 1252, in __enter__
self.target = self.getter()
File "/usr/local/lib/python2.7/site-packages/mock.py", line 1414, in <lambda>
getter = lambda: _importer(target)
File "/usr/local/lib/python2.7/site-packages/mock.py", line 1102, in _importer
thing = _dot_lookup(thing, comp, import_path)
File "/usr/local/lib/python2.7/site-packages/mock.py", line 1092, in _dot_lookup
return getattr(thing, comp)
AttributeError: 'module' object has no attribute 'appengine'
-------------------- >> begin captured stdout << ---------------------
['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', 'net']
任何想法,爲什麼它的發生,以及如何要解決這個問題?
當然,我已經檢查了您提到的所有內容,並且它的工作正常,關閉了多處理功能。 –
啊,我錯過了那個方面。但事實上,它基本上是一個SDK模塊訪問問題。我懷疑有些鼻子多處理器配置/設置丟失,但我對此一無所知。 –