PyCharm不会从Python配置文件中加载任何设置,而python的解释器却可以。我怎样才能让PyCharm使用配置文件?我也想明白为什么。Pycharm不使用nosetests配置文件
这是非常重要的是,从设置不仅对我的PyCharm的实例PARAMS配置文件和来。我提供的设置只有3个文件,但我最终会使用这个答案共同测试设置。
这里的设置:
~/PycharmProjects/Testing/test_suite.py
~/PycharmProjects/Testing/unnecessary_math.py
~/nose.cfg
通过解释在运行时(PyCharm外)的 “nose.cfg” 设置被认可就跑,并提供:
Marcs-MacBook-Pro:Testing marcs$ nosetests -s .
nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$']
Doctest: unnecessary_math.divide ... ok
Doctest: unnecessary_math.multiply ... ok
Starting Test
['/Users/marcs/nose.cfg']
test_suite.test_numbers_0_4 ... ok
test_suite.test_num_4_4_4_4 ... ok
Ending Test
----------------------------------------------------------------------
XML: nosetests.xml
----------------------------------------------------------------------
Ran 4 tests in 0.008s
OK
Marcs-MacBook-Pro:Testing marcs$
当从PyCharm运行我得到这个输出
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python /Applications/PyCharm.app/helpers/pydev/pydevd.py --multiproc --client 127.0.0.1 --port 61446 --file /Applications/PyCharm.app/helpers/pycharm/noserunner.py /Users/marcs/PycharmProjects/Testing/ -s
Testing started at 5:36 AM ...
pydev debugger: process 10464 is connecting
Connected to pydev debugger (build 133.881)
Starting Test
['/Users/marcs/nose.cfg']
..
..
Ending Test
----------------------------------------------------------------------
Ran 2 tests in 0.023s
OK
Process finished with exit code 0
所以从我能看到它看起来似乎PyCharm的环境认识到nose.cfg文件,但由于某种原因选择不加载它。我不知道为什么。
我已经包含的文件将下面的代码:
〜/ nose.cfg
[nosetests]
verbosity=3
with-doctest=1
with-xunit=1
test_suite.py
from unnecessary_math import multiply
from nose.tools import assert_equals
import nose.config as config
def setup_module():
print "Starting Test"
print config.all_config_files()
def teardown_module():
print "Ending Test"
def test_numbers_0_4():
assert_equals(multiply(0,4), 0)
def test_num_4_4_4_4():
assert_equals(multiply(4,4,4,4), 256)
unnecessary_math.py
def multiply(*args):
"""
This function multiplies any number of integers together
'Given a list of numbers it will give you their commutative product'
>>> multiply(4,4)
16
>>> multiply(4,4,4,4)
256
>>>
"""
product = 1
for arg in args:
product = product * arg
return product
def divide(a,b):
"""
This function divides a by b
'b divides a'
>>> divide(4,4)
1
>>> divide(8,2)
4
>>>
>>> divide(5,2)
2
>>>
"""
return a/b
我已经回顾了这一点。我仍然没有答案,但是当我保持相同的文件结构并在同一文件夹内运行nosetests时添加“__ init __.py”时,我可以在笔直的nosetests(PyCharm之外)中复制相同的行为。当从文件夹外部运行时,它正常工作,但在文件夹内,它的行为就像PyCharm(忽略cfg文件)。我试图从PyCharm那里得到同样的结果,看看是否解决了这个问题,而不是。 – Marc