项目无法识别 cucumber-picocontainer 依赖性

2024-01-29

我目前正在使用 Cucumber、JUnit 和 Selenium 开发 Java 测试框架。我已经参与过类似的项目,但我在这个项目上遇到了问题。

我正在尝试创建一个单例的 Context 类。我想使用 cucumber-picocontainer 在每个步骤定义类中访问此类。我在 pom.xml 中添加了依赖项,但每次尝试执行测试时,都会出现异常:“NewLoginSteps 没有空构造函数。如果需要 DI,请将 cucumber-picocontainer 放在类路径上” 。我尝试手动导入罐子,但没有帮助。

这是我的配置示例:

  • pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
    
        <properties>
            <cucumber.version>1.2.4</cucumber.version>
            <selenium-java.version>2.39.0</selenium-java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>${cucumber.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-picocontainer</artifactId>
                <version>${cucumber.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>info.cukes</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>${cucumber.version}</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.11</version>
                <scope>test</scope>
            </dependency>
    </project>
    

TestContext.java:

public class TestContext {
    private static Map<String, String> siteLocations = new HashMap<String, String>();
    private static boolean initialized = false;
    private static boolean firstInitDone = false;
    private static WebDriver driver;
    private static boolean testsToRun = false;
    private static AutomatedTestMode modeAsEnum;

    @Before
    public void setUp(Scenario scenario) {
        initialize();
        Log.startTestCase(scenario.getName());
        afterAll();
    }
    ....
}

步骤定义类:

public class NewLoginSteps extends NewSuperSteps {

    public NewLoginSteps(TestContext context){
        super(context);
    }


    @When("^I log in nova as \"([^\"]*)\" user with \"([^\"]*)\" \"([^\"]*)\"$")
    public void newLogin(String instance, String username, String password){
        Assert.assertEquals(true, false);

    }

    @Then("^The user is connected$")
    public void The_user_is_connected(){
        throw new PendingException();
    }

}

我的超级七年级课程:

public class NewSuperSteps {
    protected TestContext context;
    public NewSuperSteps(TestContext context){
        this.context=context;
    }

}

你知道我做错了什么吗?我已经使用 picocontainer 来做同样的事情并且它正在工作。


我遇到了类似的问题。

问题出在信息 cukes 的版本上。您的 pom.xml 中需要所有 cucumber-* 的版本相同。 这为我解决了这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

项目无法识别 cucumber-picocontainer 依赖性 的相关文章

随机推荐

  • Mac VSCode 调试器总是显示有关“;”的错误和 ':'

    我正在尝试在我的 Mac 上设置 vscode 环境 我按照网站上的流程操作https code visualstudio com docs cpp config clang mac https code visualstudio com
  • 如何在 ruby​​ 中运行后台线程?

    我是 ruby 新手 认为重建我用 C 编写的简单聊天程序是个好主意 我正在使用 Ruby 2 0 0 MRI Matz 的 Ruby 实现 问题是我想在服务器运行时为简单的服务器命令提供 I O 这是从样本中获取的服务器 我添加了使用 g
  • 处理 Paypal 和 Local Datasase 之间的交易

    处理应用程序和贝宝之间交易的最佳实践是什么 考虑 我是 Alice 我想汇款给 Bob 在我的数据库中 我看到鲍勃有 200 美元 我想向他发送 150 美元 交易发送后 我想更新 Bob 的帐户 使其包含 50 美元 现在根据 PayPa
  • 在 pandas 中, inplace = True 是否被认为是有害的?

    之前已经讨论过这个问题 但答案相互矛盾 到位就好 https stackoverflow com a 34326313 8425408 到位就不好了 https stackoverflow com a 22533110 8425408 我想
  • 是否可以在 Bottle Web 框架中运行任务调度程序

    有谁有关于如何在 Bottle 中集成任务调度程序的示例吗 像 APScheduler 或 sched 这样的东西 我建议对其进行线程化 使网络服务器不受计划任务的影响 这些任务要么在队列中 要么写入代码本身
  • 具有自定义身份验证过滤器的 WebSecurityConfigurerAdapter - 依赖性问题

    我有 SPNEGO 的 Spring 安全配置 它正在 通过黑客 工作 它看起来如下 Configuration EnableWebSecurity public class SpnegoConfig extends WebSecurity
  • Java - “@Override”的用途是什么? [复制]

    这个问题在这里已经有答案了 可能的重复 java 中的 Override 有什么用 https stackoverflow com questions 2489974 whats override there for in java 到目前
  • 如何在 SQL 中的两个 varbinary 字段之间执行 AND BIT OPERATOR

    有人可以针对这种方法提出一个好的解决方案吗 我有 2 个长度为 1024 位的二进制字符串 1010101 现在我想对两者进行位运算 AND 来得到一个值 无论它是否大于0 目前我正在将字符串转换为 hex 256 和 varbinary
  • 为什么STL的命名约定使用这么多前导下划线?

    例如 template
  • 如何使用子表达式

    你好 stackoverflow 社区 我有一个序言代码 它为真值表创建子表达式 然后给它们值 true false 它对于很多表达式都工作得很好 但是使用这个语句会发生这种情况 1 phrase subexprs bicond and i
  • mySQL 按成员名称分组

    我正在使用此查询来获取向用户发送消息的人员或向其发送消息的用户的列表 SELECT messages FROM SELECT MAX lastseen AS lastseen FROM messages WHERE user IN from
  • 如何使用 AutoHotkey 插入格式化文本?

    我创建了一个脚本 可以在任何 Windows 应用程序中插入今天的日期 当我将其粘贴到目标应用程序时 我想控制格式 例如字体和 或颜色 我似乎无法在文档或任何帮助论坛中找到它 格式化文本可以使用 AutoHotkey 1 1 又名 Auto
  • 使用 Flask 处理 Twitter Bootstrap 事件

    我在网络应用程序上有一组 Twitter Bootstrap 按钮 我需要将选择传递给 Flask 并且我不想使用提交按钮 div class btn group view opt btn group div
  • 在 PHP 页面之间传递信息

    如何在 PHP 页面之间传递信息 例如 我有一个 PHP 脚本来处理来自表单的登录输入 然后有一个单独的 PHP 脚本来处理用户的进一步输入 但是 我希望第二个 PHP 文件接收来自登录表单的输入 本质上 我不希望相同的脚本在登录时运行两次
  • ElasticSearch - RestHighLevelClient java.io.IOException:现有连接被远程主机强制关闭

    上午取100K使用单个查询添加索引中的文档 为此我正在使用ScrollSearchAPI 之后 我将逐一迭代每个文档 并向其中添加一个字段并为其创建一个新索引 我正在使用RestHighLevelClient用于 Java 代码和 Elas
  • 在 Python 中打印表格

    我有一个任务要在 Python 中创建一个 10 x 10 表 并且我在打印函数中使用结尾 t 来防止它创建新行 但是 我需要它在 10 个字符之后开始一个新行 我怎样才能让它做到这一点 这是我的代码 product 0 for x in
  • 在秒差距中,有没有办法防止词素消耗换行符?

    中的所有解析器Text Parsec Token礼貌地使用lexeme吃掉令牌后的空白 对我来说不幸的是 空格包含新行 我想将其用作表达式终止符 有没有办法说服lexeme留下一条新线 不它不是 这是相关代码 From 文本 Parsec
  • 如何在数据框中转换列? [复制]

    这个问题在这里已经有答案了 我正在从 hbase 获取数据并将其转换为数据帧 现在 我在数据框中有一列string数据类型 但我需要将其数据类型转换为Int 尝试了下面的代码 但它给我一个错误 df withColumn order ord
  • 显然 conda 找不到一些非常常见的包:我做错了什么?

    环境 我正在使用conda4 6 7 在配备 High Sierra 的 Mac 上 我有一些遗留的 Python 代码 首先我想运行它 当然 由于这是研究代码 我没想到会找到 花哨的东西 例如测试套件 但我希望至少有一个requireme
  • 项目无法识别 cucumber-picocontainer 依赖性

    我目前正在使用 Cucumber JUnit 和 Selenium 开发 Java 测试框架 我已经参与过类似的项目 但我在这个项目上遇到了问题 我正在尝试创建一个单例的 Context 类 我想使用 cucumber picocontai