问题标签 [picocontainer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
61 浏览

java - 如何编写一个构造函数来调用一个构建自己的构建器?

我有一个使用此构建器构建的 YAML 配置。构建器接受一个 InputStream,它允许我使用测试配置文件对其进行测试。它很好用,因为 SnakeYAML 可以弄清楚如何构建我的对象。

但是在我的应用程序中,它恰好是一个 Cucumber Runner,这个配置需要被构造函数注入到使用它的对象中,这恰好由 PicoContainer 完成。

所以现在我需要一个 MyConfig 的构造函数,以便 MyConfig 可以由 PicoContainer 构造,然后注入到 MyStepDefinition 中。

我想出的是这个,这是不对的。

问题是构造函数调用 buildFromYaml 的无限循环,它再次调用构造函数并因此循环。

所以总结一下,我的问题是,我如何编写一个使用构建器的构造器来构建正在构建的类?也就是说,在MyConfig的构造函数中
如何使用?yaml.loadAs(is, MyConfig.class)

0 投票
1 回答
1016 浏览

cucumber-java - 如何在 Cucumber 中配置 PicoContainer?

我想手动配置我的 picocontainer 为我的黄瓜构建配置配置对象的实例。IE,@ConfigurationProperties在 Spring 中提供配置对象。

但是,目前尚不清楚如何做到这一点。该网站提供了大量关于如何操作容器的文档,但没有围绕这些示例的上下文。我正在使用 Cucumber maven 构建,使用cucumber-picocontainer依赖项。

理想情况下,PicoContainer 将能够从主 yaml/ 配置文件(如 Spring)中获取依赖项,但如果我可以手动将它们输入到正在运行的容器中,那也可以。

为了清楚起见,我知道我可以这样做:

但这并不意味着 this 返回的实例实际上是用来注入我的属性的。

总之,我正在寻找一种使用 pico 容器执行以下操作之一的方法:

  • 自动能够创建配置类,通过文件(yaml,,properties等)配置
  • 手动配置正在运行的容器,自己从配置中创建对象并将它们交给 pico 稍后注入
0 投票
1 回答
237 浏览

java - 如何使用 picocontainer 将带有列表的对象作为构造函数参数注入?

我有一个类在它的构造函数中接受一个列表参数:

我在容器中添加这个类,如下所示:

但我遇到了一个例外:

有谁知道为什么会这样?

组成代码:

0 投票
1 回答
706 浏览

java - 在 Cucumber 中共享测试上下文,同时在 java 中创建对象以在所有场景中共享相同的状态我得到异常

在 Cucumber 中共享测试上下文,同时在 java 中创建对象以在所有场景中共享相同的状态我得到异常

在这里,我正在从 TestContext 类创建端点类的对象

故障追踪

登录步骤.java

BaseStep.java

TestContext.java

包装黄瓜;

端点.java

注意:从 LoginSteps.java 开始执行

0 投票
0 回答
62 浏览

java - 在 PicoContainer 的多个接口下注册同一个类

我有下一个输入:

  1. 接下来配置的 PicoContainer 实例:

重要的是它使用了隐藏的实现。

  1. 比方说,类的结构:
  1. 问题:

我想在前面描述的那些接口下的上下文中注册相同的类实例,如下所示:

主要思想是使用现有上下文初始化类实例并且只执行一次(如果在这种情况下可能的话)。

请帮忙。

0 投票
0 回答
855 浏览

java - cucumber.runtime.java.ObjectFactoryLoader loadSingleObjectFactory

在运行我的测试运行程序类时得到这个: cucumber.runtime.java.ObjectFactoryLoader loadSingleObjectFactory 信息:通过服务加载器加载 ObjectFactory:io.cucumber.picocontainer.PicoFactory

0 投票
0 回答
32 浏览

java - PICOContainer 未在构造函数中初始化依赖项

我正在将 picocontainer 与黄瓜一起使用,我正在尝试将步骤定义与依赖类的包不同,并且我的 stef 定义代码如下所示。但是我得到 NullPointerException 因为 pcontext 没有被初始化。但是,当我在同一个包中移动我的 step def 和 cucumbercontext 类时,它可以工作。

在此处输入图像描述

0 投票
1 回答
36 浏览

java - 通过 PicoContainer 提供第三方对象

使用MyBatis,我发现自己有许多映射器接口,例如

使用 MyBatis 工厂按需检索

现在,我想允许这些接口的构造函数注入(由 MyBatis 在后台实现),所以我不能明确

实现这一目标的最佳方法是什么?
我想某种ComponentAdapterComponentMonitor将是正确的选择。

0 投票
0 回答
76 浏览

java - Cucumber - 在另一个 StepDefinition 类中调用方法而不创建对象

根据 POM 模型,我有 2 个 Gherkin Step Definition 类文件。A 类和 B 类是 2 步定义类。

在 A 类中,在其中一个步骤定义中,我必须从 B 类调用一个步骤定义方法。我不想在 A 类中创建 B 类的对象,也不想使其成为静态对象。

如果可能的话,我如何通过依赖注入来实现它?

0 投票
1 回答
160 浏览

testng - 获取 Scenario Context- cucumber pico 容器的空值

尝试在第二种情况中给出的步骤中获取值时获取空值。但是,当我尝试相同的步骤时,我能够获得价值。

定义文件:

测试运行器文件。我正在使用 TestNg 作为 Runner。在@Beforesuite 里面我打电话给司机。这里使用@BeforeSuite,以避免在每个场景之后关闭测试。

使用 Lombok 作为 getter 和 setter。

TestContext.java 在初始化 PageObjectManager 之前,我设置了 AppiumDriver。不这样做会出错。

请让我知道我是否在执行正确的 pico-container 实现。

这是示例应用程序 github 链接:https ://github.com/dipakkumar1225/DemoCucumberPicoContainerTestng.git