Skip to content

Commit acf461c

Browse files
Using py.test to run automatic test cases.
1 parent 7fa77d1 commit acf461c

File tree

1 file changed

+15
-18
lines changed

1 file changed

+15
-18
lines changed

test_old_parser.py

+15-18
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,21 @@
1212
unneeded_tags = ['raw', 'type', 'style', 'post', 'page', 'volume', 'DOI',
1313
'references', 'UID']
1414

15-
class CheckCitation(unittest.TestCase):
16-
pass
17-
18-
def create_tests():
19-
for name in glob.glob("tests/*.json"):
15+
def pytest_generate_tests(metafunc):
16+
names = glob.glob("tests/*.json")
17+
for name in names:
2018
with open(name) as f:
2119
citations = json.load(f)
22-
for cit in citations:
23-
test_name = 'test in {} - {}'.format(name, cit['raw'])
24-
a = citation.Citation.parse(cit['raw'])
25-
b = cit
26-
for k in unneeded_tags:
27-
if k in a:
28-
del a[k]
29-
if k in b:
30-
del b[k]
31-
def test(self):
32-
assert a == b
33-
setattr(CheckCitation, test_name, test)
20+
metafunc.parametrize('cit', citations)
21+
metafunc.parametrize('name', names)
3422

35-
create_tests()
23+
def check_parse(name, cit):
24+
test_name = 'test in {} - {}'.format(name, cit['raw'])
25+
a = citation.Citation.parse(cit['raw'])
26+
b = cit
27+
for k in unneeded_tags:
28+
if k in a:
29+
del a[k]
30+
if k in b:
31+
del b[k]
32+
assert a == b

0 commit comments

Comments
 (0)