Проблема с запуском пилонов. В ImportError и TestController не определена ошибка

1

У меня есть структура каталогов следующим образом: gnukhata/тесты/функциональные. В функциональной папке у меня есть файлы веб-тестов. Ниже приведен образец теста.

from gnukhata.tests import *

class TestVendorController(TestController):

def test_index(self):
    response = self.app.get(url(controller='vendor', action='index'))

После запуска этого тестового файла появляется следующая ошибка:

Traceback (most recent call last):
  File "/usr/lib/python2.6/dist-packages/twisted/trial/runner.py", line 651, in   loadByNames
    things.append(self.findByName(name))
  File "/usr/lib/python2.6/dist-packages/twisted/trial/runner.py", line 460, in findByName
    return filenameToModule(name)
  File "/usr/lib/python2.6/dist-packages/twisted/trial/runner.py", line 98, in filenameToModule
    return _importFromFile(fn)
  File "/usr/lib/python2.6/dist-packages/twisted/trial/runner.py", line 117, in _importFromFile
    module = imp.load_source(moduleName, fn, fd)
  File "test_vendor.py", line 1, in <module>
    from gnukhata.tests import *
exceptions.ImportError: No module named tests

Вместо gnukhata.tests, если я пишу gnukhata, тогда он показывает следующую ошибку:

   Traceback (most recent call last):
    File "/usr/lib/python2.6/dist-packages/twisted/trial/runner.py", line 651, in loadByNames
things.append(self.findByName(name))
    File "/usr/lib/python2.6/dist-packages/twisted/trial/runner.py", line 460, in findByName
return filenameToModule(name)
    File "/usr/lib/python2.6/dist-packages/twisted/trial/runner.py", line 98, in filenameToModule
return _importFromFile(fn)
    File "/usr/lib/python2.6/dist-packages/twisted/trial/runner.py", line 117, in _importFromFile
    module = imp.load_source(moduleName, fn, fd)
    File "test_vendor.py", line 3, in <module>
    class TestVendorController(TestController):
exceptions.NameError: name 'TestController' is not defined
Теги:
unit-testing
pylons
nosetests

2 ответа

0

Попробуйте мою самую простую конфигурацию и дайте мне знать, если она работает:

import logging

from pylons import request, response, session, tmpl_context as c, url
from pylons.controllers.util import abort, redirect

from gnukhata.lib.base import BaseController, render
from gnukhata import model
import gnukhata.model.meta as meta

В init.py:

from unittest import TestCase

from paste.deploy import loadapp
from paste.script.appinstall import SetupCommand
from pylons import url
from routes.util import URLGenerator
from webtest import TestApp
from pylons import config

import pylons.test

__all__ = ['environ', 'url', 'TestController']

# Invoke websetup with the current config file
SetupCommand('setup-app').run([pylons.test.pylonsapp.config['__file__']])

environ = {}

class TestController(TestCase):

    def __init__(self, *args, **kwargs):
        wsgiapp = pylons.test.pylonsapp
        config = wsgiapp.config
        self.app = TestApp(wsgiapp)
        url._push_object(URLGenerator(config['routes.map'], environ))
        TestCase.__init__(self, *args, **kwargs)
  • 0
    Пробовал вышеуказанное решение, но не сработало. Итак, я написал test.py: из pylons.controllers импортировать WSGIController из pylons.templating import render_mako как класс визуализации TestController (WSGIController): def __call __ (self, environment, start_response): вернуть WSGIController. __call __ (self, environment, start_response) и сохраняет файл test.py в каталоге gnukhata / tests / functions. Запуск тестов с пробной версией не дает никакой ошибки. Но при тестировании носа он выдает ошибку как: ImportError: Нет модуля с именем pylons.controllers.
0

Есть ли каталог __init__.py в gnukhata/tests? Если нет, то gnukhata.tests не распознается как модуль, и вы не можете импортировать его.

Если такой файл существует, можете ли вы опубликовать здесь инструкции импорта в gnukhata/tests/__init__.py, если они есть?

  • 0
    init .py находится в каталоге gnukhata / tests. Но все равно это дает ту же ошибку импорта.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню