我对cucumber相当陌生。当我注意到运行单个特性与运行整个套件(从IntelliJ)时的差异时,我只是通过创建几个测试特性来进行试验。
我注意到,当我运行单个特性时,它使用cucumber-jvm选项运行,在本例中,CucumberConfig(html" target="_blank">定义runner和cucumber选项的空白类)和runner没有被使用。但是,当我运行整个套件时,它作为JUnit测试运行,显然,在本例中,Config类和runner出现在画面中。
我用以下示例代码证实了这一点:
@RunWith(CustomRunner.class)
@CucumberOptions()
public class CucumberConfig {
@BeforeClass
public static void beforeClass()
{
System.out.println("This is run before Once: ");
}
@AfterClass
public static void afterClass()
{
System.out.println("This is run after Once: ");
}
}
CustomRunner
public class CustomRunner extends Cucumber {
public CustomRunner(Class clazz) throws InitializationError, IOException {
super(clazz);
System.out.println("I am in the custom runner.");
}
}
另外,我知道,当以cucumber-junit运行时,我们不能像在cucumber-jvm中那样传递特定的特性来运行。如果我错了请纠正我。
我的怀疑是,这是默认的行为还是我做错了什么。而且,如果这是默认的,我如何使cucumber始终使用配置文件。
如果有人能就此提供一些见解,我将不胜感激。
当您使用IntelliJ IDEA运行测试时,IDEA将使用cucumber.api.main
运行测试。因此,它将忽略CucumberConfig
,也不会运行@beforeClass
和@afterClass
,这些只有JUnit运行器使用。
我有一个特殊的情况。基本上我有一个单元测试,用@Test注释,在这个测试中我需要执行一个Cucumber JVM测试类。 为什么?说来话长。与类加载器和RoboGuice有关,这不是很重要,但它确实限制了我能做什么和不能做什么。 以下是测试方法: MyCucumberTest是我创建的一个类,并注释如下: 为什么我要注释掉@RunBy注释?因为如果我不这样做,Cucumber测试运行程序会拿起测试
我试图将一个maven插件cucumber-jvm-parallel-plugin合并到我的Cucumber-JVM代码中,但遇到了一些问题...我认为我已经正确地配置了,但是我的cucumber特性仍然是一个接一个地运行,而不是并行地运行。 我遵循了两个教程,但找不到哪里出错了,或者如果这是意料之中的: https://opencredo.com/test-automation-concepts
Cucumber测试没有并行运行(Cucumber jvm并行插件)? 如果我使用runner类执行测试,一次将执行一个功能文件,但是当将以下插件添加到POM文件时,似乎没有功能文件执行? 即使我指向了正确的功能文件文件夹? 我的POM文件:
如何使用Maven在以下位置运行cucumber测试。 源文件夹'src/main/java'和'src/main/resources'包括在每个源文件夹中创建的包'com.testing.testproject.login'中的步骤定义和功能文件。 这是我的POM文件: 提前道谢。
我是Gradle的新手,正在使用5.0版本。我对cucumber相当精通。 我有一个简单的项目,它构建一个jar文件并在上面运行JUnit测试。这一切都很好。现在我想将Cucumber添加到项目中,但我希望我的.feature文件和相关的stepdef位于另一个源树(Gradle术语中的sourceSet)中。 源代码可以在Github上找到,它包含一个示例项目。 我的源代码树应该看起来像这样:
问题内容: JVM实现在哪些方面有所不同(许可除外)?每个JVM是否都为通用处理实现类型清除? 之间的区别在哪里: JRockit IBM JVM SUN JVM Open JDK power failure Kaffi .....处理其中之一的尾部呼叫优化吗? 问题答案: JVM实现在实现JIT编译,优化,垃圾回收,支持的平台,支持的Java版本等方面可以有所不同。它们都必须满足一组功能和行为,