Tag: 黄瓜 jvm

有没有办法直接在Eclipse中生成步骤定义而不运行黄瓜?

我正在使用Eclipse中的黄瓜和Gradle进行集成测试。 现在我的工作流程是 写一个特征文件 运行它以生成步骤骨架 复制并实施它们 这适用于新function等,但如果您有一个大function并在中间或结尾实施新步骤,这会变得相当麻烦。 要获得新的步骤骨架,我需要运行整个function。 即使有了 dryRun = true 选项这需要很长时间。 我听说IntellyJ可以直接生成这些步骤骨架,我想知道在Eclipse中是否可以这样做?

仅执行场景大纲中的特定示例

我们希望在Java测试自动化框架中使用Cucumber更好地管理测试数据。 对于Scenario Outline ,我们希望将按其运行的适用环境分类的测试参数列表。 例如, Scenario Outline: Login into application Given I am on the homepage in the When I enter my And I enter my Then I am taken to the homepage Examples: |user |pass |environment| |test |test1 |local | |retest |retest1 |sit | |prodtest|prodtest1|production | 因此,当上述场景在例如SIT环境中执行时,将仅拾取第二个示例,而不是第一个和第三个示例。 这个执行级别可以完成吗?

黄瓜exception:java.lang.ClassNotFoundException:cucumber.io.ResourceLoader

每当我通过Junit进行黄瓜测试时,我都会遇到错误。 以下是以下例外情况。 任何帮助都会很棒 注意: 项目中没有错误 java.lang.NoClassDefFoundError: cucumber/io/ResourceLoader at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2398) at java.lang.Class.getConstructor0(Class.java:2708) at java.lang.Class.getConstructor(Class.java:1659) at cucumber.runtime.Reflections.hasConstructor(Reflections.java:53) at cucumber.runtime.Reflections.instantiateSubclasses(Reflections.java:29) at cucumber.runtime.Runtime.loadBackends(Runtime.java:96) at cucumber.runtime.Runtime.(Runtime.java:63) at cucumber.api.junit.Cucumber.createRuntime(Cucumber.java:74) at cucumber.api.junit.Cucumber.(Cucumber.java:61) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:29) at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:21) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26) at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:26) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.(JUnit4TestReference.java:33) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.(JUnit4TestClassReference.java:25) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48) […]

在特定function之前/之后执行Cucumber步骤

我想为每个特定的function文件指定某些设置和拆除步骤。 我已经看过允许代码在每个场景之前执行的钩子,并在每个function之前挂钩执行代码,但我想指定在一个特定function运行所有场景之前和之后运行一次的代码。 这可能吗?

如何使用cucumber-junit设置我的Cucumberfunction的路径?

我尝试使用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有这种依赖关系: junit junit 4.10 test info.cukes cucumber-java 1.0.0.RC20 test info.cukes cucumber-junit 1.0.0.RC20 test 我错过了什么吗? 更新我遗漏了一些东西:黄瓜特征文件必须位于子目录src/test/resources/mypackage/ 。 否则,junit测试不会接收它。 当我将它们放在同一个目录src/main/test/ ,我可以运行我的function测试,因此它对我来说不是一个阻止程序。 但我想了解整个设置。