gpt4 book ai didi

java - 有没有办法用我的 Cucumber 测试运行器运行常规的 jUnit 测试?

转载 作者:行者123 更新时间:2023-11-30 08:01:16 25 4
gpt4 key购买 nike

我有一个使用 Maven 设置的 Java 项目,我正在使用 Cucumber 和 jUnit 对其进行测试。

也许我遗漏了什么,但有没有办法设置我的 Cucumber 测试运行器来自动运行 jUnit 测试以及我的 Cucumber 功能?如果不必运行两个单独的测试套件,并使用 mvn test 自动测试所有内容,那就太好了。

目前,当我指定 @RunWith(Cucumber.class) 时,它只查找 .feature 文件并忽略所有其他测试。

这是我的测试文件结构:

    └── test
├── java
│   ├── TestRunner.java
│   └── com
│   └── myname
   │   └── server
   │   ├── GlobalHooks.java
   │   ├── HTTPRequestsSteps.java
   │   └── unitTests
   │   ├── RequestHandlerTests.java
   │   └── ServerTests.java
   └── resources
    └── cucumber
   ├── ... cucumber features here

还有我的测试运行器,它目前只查找 .feature 文件。

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.Test;
import org.junit.runner.RunWith;

import static org.junit.Assert.assertEquals;

@RunWith(Cucumber.class)
@CucumberOptions(plugin={"pretty"}, glue="com.rnelson.server", features="src/test/resources")

public class TestRunner {
}

我一直在寻找无济于事,所以任何帮助将不胜感激。谢谢!

最佳答案

这个 Becca 怎么样:

来自 cucumber 官方文档:

JUnit Runner

The JUnit runner uses the JUnit framework to run Cucumber. All you need is a single empty class with an annotation:

package mypackage;

import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
public class RunCukesTest {
}

You can run this test in the same way you run your other JUnit tests, using your IDE or your build tool (for example mvn test).

此外,这可能对您有用:

http://www.hascode.com/2014/12/bdd-testing-with-cucumber-java-and-junit/

在这里,我正在做完全相同的事情,cucumber 运行 Junit 并将产生结果,xml Junit 报告和 html Cucumber 报告,只需单击一下我们的 Jenkins 作业...

如果您的意思是您还想将测试作为 JUnit 测试运行,则不能将 Junit 注释与 Cucumber 注释结合使用。但是您可以轻松地将这两个类分开,然后以“mvn test”目标运行它们..

最后一件事,我认为这是最后的解决方案,但它应该可以工作,您也可以直接从代码调用 Junit 测试,但这将是一个非常肮脏且没有标准的解决方案...

JUnitCore junit = new JUnitCore();
Result result = junit.run(testClasses);

清楚了吗? :) 或者您的需求可能有所不同?

关于java - 有没有办法用我的 Cucumber 测试运行器运行常规的 jUnit 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37815634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com