我尝试使用Java和Maven构建我的第一个可执行文件规范。我创建了一个具有以下结构的简单项目:
specification
|-src
|-test
|-java
|-mypackage
|-MyFeatureTest.java
|-resources
|-MyFeature.feature
在junit测试中,MyFeatureTest.java
我有这个:
import org.junit.runner.RunWith;
import cucumber.junit.Cucumber;
@RunWith(Cucumber.class)
public class HomepageTest {
}
现在https://github.com/cucumber/cucumber-jvm/wiki/IDE-
support
表示我应该添加以下行:
@Cucumber.Options(paths={"my/super.feature:34"})
我试图将其修改为
@Cucumber.Options(paths={"src/test/resources/"})
但注释@Cucumber.Options
根本不可用。我pom.xml
有这个依赖:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.0.0.RC20</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.0.0.RC20</version>
<scope>test</scope>
</dependency>
我想念什么吗?
更新
我丢失了一些东西:该黄瓜功能文件必须位于子目录中src/test/resources/mypackage/
。否则,junit测试不会将其拾取。
将功能测试放在同一目录中可以运行功能测试src/main/test/
,因此对我来说不是障碍。但我想了解整个设置。
在这里看看我的问题:
您可以通过在选项注解中设置feature属性来指定类路径上的位置,例如
@Cucumber.Options(features="src/test/resources")
编辑:
在新版本中,代码为
@CucumberOptions(features="src/test/resources")
本文向大家介绍使用黄瓜有什么好处?,包括了使用黄瓜有什么好处?的使用技巧和注意事项,需要的朋友参考一下 下面列出了使用黄瓜的一些优点- Cucumber是一种开源工具,不需要许可。 黄瓜可以通过Eclipse等IDE轻松配置。 黄瓜弥合了开发人员,测试人员,业务分析师,客户和产品所有者之间的理解和沟通差距。 黄瓜使没有技术知识的业务利益相关者参与其中。 黄瓜提供纯文本表示形式,使团队中的非技术人员
问题内容: 在对如何并行运行Cucumber测试用例进行了大量研究之后,我发现以下有关该主题的非常有用的文章: https://www.opencredo.com/2013/07/02/running-cucumber-jvm-tests-in- parallel/ 本文提供了一些很好的信息,可帮助您开始使用多线程环境,其中包括一些可以从Github下载的代码。 https://github.co
问题内容: 我们有一个通常从Eclipse运行的测试套件。我们最近已经开始尝试获得更好的开发环境的过程。为此,我们已开始在加利福尼亚州建立我们的项目。如果在构建过程中可以运行测试套件,我们也希望这样做。为此,我认为我们需要一种从命令行执行测试套件的方法,以便我们可以将其集成并解析其输出。 我们如何设置以运行测试? 问题答案: 您可以在构建过程中创建一个ant任务,然后让Jenkins运行该任务 这
问题内容: 我想为每个特定功能文件指定某些设置和拆卸步骤。我已经看到了允许在每个场景之前执行代码的钩子,并且允许在每个功能之前执行代码的钩子,但是我想指定代码在针对一个特定功能的所有场景下运行之前和之后运行一次。 这可能吗? 问题答案: 你用黄瓜jvm吗?我找到了适合您要求的文章。 http://zsoltfabok.com/blog/2012/09/cucumber-jvm- hooks/ 基本
问题内容: 我正在使用集成测试,并且在所有场景都完成后仅需要执行一次代码。 在仔细阅读了一些类似这样的帖子并审查了此报告的问题之后,我已经完成了以下操作: 我认为以这种方式完成的上下文初始化(相当于)很好。但是,尽管它可以正常工作,但我不确定使用模拟是否是一种好的做法。 所以,这些是我的问题: 我应该避免执行吗? 还有其他更好的选择来模拟cumber-jvm中的行为吗? 在此先感谢您的帮助。 问题
问题内容: 熟悉Java但不熟悉IntelliJ,如何与JUnit集成“入门”? 灵感来自寻找有关将JUnit与Intellij IDEA9.x结合使用的指南,该指南没有回答我的问题,并且是针对较旧版本的IntelliJ的。 问题答案: 基本上,您只需要在类路径上使用junit.jar-这是一种快速的方法: 确保您有一个标记为 Test Root 的源文件夹(例如)。 创建一个测试,例如这样的: