- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我目前正在使用 Cucumber、JUnit 和 Selenium 开发一个 Java 测试框架。我已经从事过类似的项目,但我在这个项目上遇到了问题。
我正在尝试创建一个作为单例的 Context 类。我想使用 cucumber-picocontainer 在每个步骤定义类中访问此类。我在我的 pom.xml 中添加了依赖项,但每次我尝试执行我的测试时,我都会遇到一个异常:“NewLoginSteps 没有空构造函数。如果你需要 DI,请将 cucumber-picocontainer 放在类路径中” .我尝试手动导入 jars,但没有帮助。
这是我的配置示例:
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>
测试上下文.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();
}
}
我的 superSepts 类:
public class NewSuperSteps {
protected TestContext context;
public NewSuperSteps(TestContext context){
this.context=context;
}
}
你知道我做错了什么吗?我已经使用 picocontainer 来做同样的事情并且它正在工作。
最佳答案
我遇到了类似的问题。
问题出在 info cukes 的版本中。您需要在 pom.xml 中使用相同版本的所有 cucumber-*。 这为我解决了这个问题。
关于java - 项目无法识别 cucumber-picocontainer 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33999071/
我正在尝试包含 的 maven 依赖项 org.jacorb jacorb 2.3.1 依赖已解决,但它导致另一个依赖 picocontainer 出现问题: [ERROR
花了很多时间试图弄清楚这里发生了什么,但我想我终于明白了一些事情。 我们有一些相当正常的 PicoContainer 代码,它只是打开缓存,我认为这应该会导致单例行为: container.as(Ch
我在一个研究项目中使用 Picocontainer。我对如何使用它有疑问。 以下是我的类(class): public class DependencySupplier { public st
我正在尝试在我的项目中使用 picoContainer。我对此知之甚少,但想试一试。 据我了解,我必须创建一个 picoContainer 并使用它注册组件。我这样做了 public static P
我想通过给 PicoContainer 提供一个工厂方法(如 Guice 中的 @Provides 方法)来配置 PicoContainer,以便在每次(重新)启动容器时用于创建一个新实例。这里的要点
我遇到了与 this question 相同的情况,但建议的解决方案都不适合我。基本上,我已经下载了this repository 。它运行良好。然后,我将 SearchSteps 模块分成两部分 -
我的任务是对我们如何启动应用程序进行一些重构工作。基本上,我们有一堆依赖于 GUI 应用程序启动代码的控制台应用程序,导致虚假依赖项,这些依赖项对我们需要发布的库以及其他模块需要声明的依赖项具有启动效
假设我有两个类 A 和 B,B 依赖于 A。 public class A {} public class B { public B(A a) {} } 在单个 PicoContainer 中
我正在使用 cucumber-jvm picocontainer 在类之间共享 selenium 驱动程序。我有 ShareDriver 和 WebDriverFactory 类。 我的问题如下:1.
我正在使用 DI 并具有以下内容 public DoSomethingWithUsers(User user1, User user2){ this.user1 = user1;
我目前正在使用 Cucumber、JUnit 和 Selenium 开发一个 Java 测试框架。我已经从事过类似的项目,但我在这个项目上遇到了问题。 我正在尝试创建一个作为单例的 Context 类
我需要使用 PicoContainer 实现依赖注入(inject),而不传递构造函数参数,当前设置: public class Shared_Data { public Account_P
我想用一个确定是否执行的 JobEnabledDecorator 对象包装一些实现 Job 接口(interface)的类。 我无法弄清楚如何在 PicoContainer 中配置它,以便它知道创建
我正在尝试在 Tomcat 上运行的基于 servlet 的应用程序中使用 PicoContainer。配置显然在调试中有效,但除非我认为 Servlet 类不是由 construnctor 注入(i
我正在尝试将 AOP 与 picocontainer 一起使用。 到目前为止我在文档中发现: http://picocontainer.codehaus.org/interception.html p
我遇到的问题是每个 Cucumber 场景运行后 Locomotive 都没有终止。然后我只剩下孤立的 Selenium 进程,例如: 501 75709 1 0 1:29PM ??
我对 Java 开发很陌生。我正在尝试在 servlet 应用程序中使用 PicoContainer 。我在 web.xml 中配置了容器,但在尝试创建过滤器时失败了。所以我尝试像这样手动实例化过滤器
我的团队正在研究依赖注入(inject)框架,并试图在使用 Google-Guice 和 PicoContainer 之间做出决定。 我们正在我们的框架中寻找几样东西: 代码占用量小 - 我所说的代码
问题 一般问题 您将如何开始实现 PicoContainer-Framework在 R 中? 具体问题 “pico 注册表(机制)”实际上是什么样子的?我想出了一个只适用于单个注册过程的“穷人版本”(
我有一个 PicoContainer,它缓存所有组件。由于它缓存所有组件,我希望它在容器生命周期的适当时刻调用 start、stop 和 dispose。 但是,我发现如果我使用 FactoryInj
我是一名优秀的程序员,十分优秀!