我正在尝试配置Cucumber测试,该测试将在。战争部署在JBoss上。该设置使用控制器启动cucumber干管。Cucumber需要胶水路径(-g)和特征文件路径的参数。通常,这些路径前面可能会有classpath:,和。特性文件(和步骤定义)由Cucumber正确标识(无论是在本地运行,还是在编译的.jar文件中)。然而,当编译成。war文件中,将引发以下异常:
java.nio.file.FileSystemNotFoundException: Provider "vfs" not installed
在调试项目时,Cucumber正在寻找以下功能:
vfs:/C:/Users/{user}/EAP-7.1.0/bin/content/war-test-1.0-SNAPSHOT.war/WEB-INF/classes/features/
除了没有安装“vfs”之外,/bin/location中没有/content文件夹。在查找应如何加载资源位置中的文件时,以下操作有效:
InputStream is = getClass().getClassLoader().getResourceAsStream("/features/Test.feature");
但是,当我传递/features作为特征位置时,Cucumber会在C:/features中查找。我无权决定Cucumber如何加载其资源。是否有正确的方法通过功能路径,以便正确加载功能?
我准备了以下重新创建问题的基本项目:https://github.com/bgagnon93/cucumber-war
我正在本地的Red Hat JBoss EAP 7.1服务器上运行cucumber-war.war,在服务器上启动运行后,在localhost访问webapp:http://localhost:8080/cucumber-war-1.0-SNAPSHOT/
点击“开始”按钮将启动Cucumber,并导致故障。
以下是PortalController类中Cumber启动的样子:
@PostMapping("/")
public String run() {
String[] cucumberArgs = {
"-g", "classpath:com/automation/steps",
"--tags", "@Test",
"classpath:features"
};
Main.run(cucumberArgs, Thread.currentThread().getContextClassLoader());
return "test";
}
是否有适当的方法来传递特征路径,以便正确加载特征?
你提供了正确的路径。
Cucumber使用JSR203扫描功能文件。目前Apaches VFS不支持JSR203。不过,使用vfs2nio可能会有一些运气。
我已经安装了cucumber eclipse插件。我已经用空手道编写了我的简单功能文件,当我试图将其作为cucumber测试运行时,我被要求实现缺少的步骤。当我使用专用的运行程序运行同一个功能文件时,它的执行不会出现任何问题。请你帮忙。我正在尝试在不使用专用跑步者的情况下进行这项测试
尝试在企业项目中进行PIT突变测试。让它做现有的JUNit测试,但我们也有很多Cucumber测试需要作为度量的一部分。在maven项目中添加了pit cucumber插件,但未找到任何场景。不确定插件的配置中是否有我看不到的秘密。 我得到以下输出: 信息:向minion发送0个测试类
问题内容: 我不太确定是什么原因导致的,因为清单中正确列出了它: 我还添加了来构建路径,并将其移至的顶部,但是它仍然给我同样的错误。 编辑:我完全重建了该项目,并且无法重现该错误。不知道是什么原因造成的。 问题答案: 我的项目有同样的问题。这是由于我的项目与我在项目中添加的库项目之间的android支持库版本冲突而发生的。将相同版本的android支持库放入您的项目和包含的库项目中,并清理构建 …
问题内容: 我目前正在一个项目中,我必须使用纯本地ndk。当我尝试从Irrlicht引擎源运行helloworld示例时,它起作用了。然后,按照该示例的相同格式尝试在我的项目中使用它。但是我得到了: 在运行我的项目时。 这是我的main.cpp文件: n Android.mk: 我在AndroidManifest.xml中给了Activity名称: 我在这里做什么错?如有必要,我将发布完整代码。
我目前正在做一个项目,在这个项目中我必须使用纯原生的NDK。当我尝试从Irrlicht引擎源代码运行helloworld示例时,它起到了作用。然后我尝试在我的项目中使用它,遵循该示例的相同格式。但我得到: 在运行我的项目时。 并且我在AndroidManifest.xml中给出了活动名称: 我在这里犯了什么错误?如果需要,我会发布完整的代码。