如何让behat知道要使用哪个上下文?,因为默认情况下,feature文件夹中有这个FeatureContext.php,当behat运行时,它将在.feature文件运行时使用该文件(方案) )...问题是,如果我有很多模块要测试,当然,我不能把所有这些函数都放在一个FeatureContext.php文件中吗?我想要命名不同的上下文和不同的.feature文件,所以如何让behat知道要运行哪个上下文和.feature文件?
这是我用来解雇的命令行
/export/home/project/htdocs/bdd/bin/behat --profile phantomjs-via-webdriver
答案 0 :(得分:1)
Behat使用您指定的所有上下文,唯一的方法是仅指定您要使用的上下文。根据Behat版本,语法也不同。对于Behat 2,answer解释了一种策略。对于Behat 3,您可以执行以下操作:
default:
suites:
module1:
contexts:
- 'FeatureContext1'
- 'FeatureContext2'
module2:
contexts:
- 'FeatureContext1'
- 'FeatureContext3'
我的两分钱:我对你的应用程序没有最小的想法,但不要混淆功能和单元测试(如果你这样做)。当您从每个模块上下文中受益时,可能会有不同的情况,例如"授权"," admin"或"评论",但它们的唯一目的是分离代码从整体上下文到更易于管理的块。它们仍然可以一起工作并覆盖整个应用程序(或其中非常不同的部分)。使用单元测试框架可以更轻松地测试模块特定的功能,从而确保模块可以独立工作。