2

各テストメソッドのdocstring内にヒントを保存したいので、テストローダーはそれらのヒントに基づいてテストを含めたり除外したりできます。このようなもの:

def test_login_with_valid_credentials(self):
    '''#functional #security #nondestructive'''
    # code goes here

次に、テストローダーは、サブストリング「#functional」などを含むすべてのテストを検出します。

docstringを使用する方が柔軟だと思うので、この目的でデコレータを使用することは避けようとしています。(たぶん私は間違っています。)

鼻に慣れていないので、助けていただければ幸いです。ありがとう!

4

2 に答える 2

3

@attrノーズデコレータはそのためのものではありませんか?https://nose.readthedocs.org/en/latest/plugins/attrib.html

from nose.plugins.attrib import attr

@attr(tags=['b','c'])
def test_bc():
    print 1

@attr(tags=['a','b'])
def test_ab():
    print 1

@attr(tags=['a'])
def test_a():
    print 1

次に、実行する 1 つまたは複数の値を選択できます。

> nosetests -v -a tags=b  test.py         
test.test_bc ... ok
test.test_ab ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.001s

> nosetests -v -a tags=b -a tags=a test.py
test.test_bc ... ok
test.test_ab ... ok
test.test_a ... ok

----------------------------------------------------------------------
Ran 3 tests in 0.002s
于 2012-11-07T09:32:58.483 に答える
0

誰かが疑問に思っている場合に備えて、これが実際の構文です。

@attr(functional=True, security=True, nondestructive=False)

そして、テストは次のように呼び出されます。

/usr/local/bin/nosetests -v --exe -a functional -w test_directory
于 2013-02-17T04:02:30.130 に答える