我目前正在尝试获取 python 文件中所有测试方法的第一个和最后一个行号。
例如:
文件 test_lift.py 测试文件lift.py。
test_lift.py
1 import random
2
3 from src.lift import Lift
4 from flaky import flaky
5
6
7 def test_upwards():
8 tester = Lift()
9 tester.upwards()
10 assert 1 == tester.curr_floor
11
12 def test_downwards():
13 tester = Lift()
14 tester.curr_floor = 1
15 tester.downwards()
16 assert 0 == tester.curr_floor
17 tester.downwards()
18 assert 0 == tester.curr_floor
19
...
我现在想获取 test_lift.py 中每个测试方法的第一个和最后一个行号,在这种情况下,例如:
test_upwards, 7, 10
test_downwards, 12, 18
我已经尝试过使用 conftest.py,但没有任何成功。也许我忽略了什么?解决方案不一定必须在 python 中。如果有人知道如何通过解析文件来解决这个问题,我就可以了。
您可以inspect
为此使用该模块
import inspect
lines,line_start = inspect.getsourcelines(test_downwards)
print("Lines:",line_start,line_start+len(lines) - 1 )
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句