Lettuce BDD:如何引用场景?

3 投票
2 回答
833 浏览
提问于 2025-04-16 13:08

我正在使用Lettuce BDD框架来做Python的测试,我想知道怎么在一个场景里运行另一个场景。

举个例子,假设有一个“注册”场景,它设置了一些前提条件,这些条件会在后面的一个场景(比如“操作”场景)中用到——我该怎么在“操作”场景里引用和调用“注册”场景呢?

2 个回答

1

我最近在研究lettuce,发现了一个比较早的问题。

看起来,处理这个问题的推荐方法是,在声明方法时使用装饰器“@world.absorb”来改变可重用方法的作用域。这样做可以将这个方法归属于世界对象,从而使它可以被调用。之后,你就可以在其他方法中调用world.yourAction

Gabriel在yipit博客上有个详细的解释:

http://tech.yipit.com/2011/12/23/lettuce-best-and-worst-practices-1/

正如我所说,我只是刚开始学习lettuce,所以如果有人发现更好或更新的方法来实现这个,请告诉我!

3

Lettuce有一个叫“behave_as”的功能,可以实现这个效果。不过我上次用的时候发现它有一些问题。现在可能已经修复了。我之前和作者Gabriel提过这个bug。

撰写回答