python – Pycharm没有使用nosetests配置文件

python的解释器执行时,PyCharm不会从nose配置文件加载任何设置.如何启用PyCharm来使用配置文件?我也想了解原因.

设置来自配置文件非常重要,而不仅仅是我的PyCharm实例上的参数.我提供的设置只有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,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)
        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
最佳答案
我会尝试在pycharm中明确指定–config = / home / YOUR_USERNAME / nose.cfg,作为“Additional Arguments”.

相关文章

我最近重新拾起了计算机视觉,借助Python的opencv还有face_r...
说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Poolin...
记得大一学Python的时候,有一个题目是判断一个数是否是复数...
文章目录 3 直方图Histogramplot1. 基本直方图的绘制 Basic ...
文章目录 5 小提琴图Violinplot1. 基础小提琴图绘制 Basic v...
文章目录 4 核密度图Densityplot1. 基础核密度图绘制 Basic ...