У меня есть тест, который проверяет некоторый поток в API (использует requests.Session()
и делает несколько вызовов нашего внутреннего интерфейса.)Что может привести к тому, что этот объект unicode не является вызываемой ошибкой в nosetests lib?
Этот тест проходит на мой макинтош и на других Маках народов. Но когда он выполняется в Дженкинсе, я получаю сообщение об ошибке. Есть и другие подобные тесты, подобные этим, которые проходят без проблем в Дженкинсе. К сожалению, я не могу поделиться самим тестовым кодом.
Дженкинс работает на Ubuntu 14.04
Но вот первые строки тестового кода, если это помогает.
# filename: test_payment_visa.py
import unittest
from tests.utils import WWHTTPClient
import math
from nose.plugins.attrib import attr
class TestPaymentWorkflow(unittest.TestCase):
def setUp(self):
self.ww_api = WWHTTPClient()
def test_payment_visa(self):
"""Test for Payment Workflow via VISA"""
У кого-нибудь есть идея, к чему это может быть связано?
Traceback (most recent call last):
File "/var/lib/jenkins/.virtualenvs/api-tests/bin/nosetests", line 11, in <module>
sys.exit(run_exit())
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/core.py", line 121, in __init__
**extra_args)
File "/usr/lib/python2.7/unittest/main.py", line 95, in __init__
self.runTests()
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/core.py", line 207, in runTests
result = self.testRunner.run(self.test)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/core.py", line 62, in run
test(result)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/suite.py", line 177, in __call__
return self.run(*arg, **kw)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/suite.py", line 224, in run
test(orig)
File "/usr/lib/python2.7/unittest/suite.py", line 70, in __call__
return self.run(*args, **kwds)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/suite.py", line 75, in run
test(result)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/suite.py", line 177, in __call__
return self.run(*arg, **kw)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/suite.py", line 224, in run
test(orig)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/suite.py", line 177, in __call__
return self.run(*arg, **kw)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/suite.py", line 224, in run
test(orig)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/suite.py", line 177, in __call__
return self.run(*arg, **kw)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/suite.py", line 224, in run
test(orig)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/case.py", line 45, in __call__
return self.run(*arg, **kwarg)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/case.py", line 138, in run
result.addError(self, err)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/proxy.py", line 131, in addError
plugins.addError(self.test, err)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/plugins/manager.py", line 99, in __call__
return self.call(*arg, **kw)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/plugins/manager.py", line 167, in simple
result = meth(*arg, **kw)
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/plugins/xunit.py", line 288, in addError
id = test.id()
File "/var/lib/jenkins/.virtualenvs/api-tests/local/lib/python2.7/site-packages/nose/case.py", line 85, in id
return self.test.id()
TypeError: 'unicode' object is not callable
Вы не предоставляете достаточно контекста для ответа. Но сообщение об ошибке в основном указывает, что где-то вы обрабатываете строку, как если бы это был метод или функция. –
Я ожидал, что проблема не в коде, который я написал. Ошибка находится в /site-packages/nose/case.py строке 85 в методе, который пытается получить описание тестового примера. И эта ошибка не появляется на моей локальной машине. – raitisd