问题标签 [jbehave-maven-plugin]
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.
java - 运行可嵌入故事时 JBehave 抛出 NullPointerException
我正在开发一个 Spring MVC 休息服务,我也在尝试设置 JBehave。这是一个带有单个模块的 Maven 项目,而 JBehave 代码位于test
该模块的范围内。我的问题是我的示例测试(这只是一个空测试)因 NPE 而失败。我期待看到测试通过,以便我知道 JBehave 设置正确。你能看看我有什么,看看你能不能帮我找出导致 NPE 的原因?
首先,我的maven配置的相关部分:
我通过运行测试mvn clean integration-test -e
并得到以下输出:
我的故事文件,名为sample_rest_call_with_invalid_account_steps.story
:
我的 java 故事类,名为SampleRestCallWithInvalidAccountSteps.java
:
我的故事超类:
作为参考,我大致遵循本指南。
java - JBehave Maven RunningStoriesFailed 异常
我正在使用 JBehave 和 Maven 来测试 Spring MVC 应用程序。我正在使用单个故事文件运行下面的代码。我的问题是我经常遇到StoryExecutionFailed
错误,我不知道为什么或如何解决它。
我配置 JBehave 的方式有些可疑,因为我没有看到我的一些选项实际上被打印到输出(例如:输出显示默认超时 300 秒,但我在代码中明确将其设置为 10000)。然而我的故事课确实在运行,因为如果我添加System.out.println()
's,我会看到输出打印到屏幕上。我也怀疑故事步骤没有被映射,因为通常我会看到输出中打印的步骤代码。
我希望有人可以帮助解决问题,因为我不知道从哪里开始调试。
到目前为止我检查过的内容:
- 故事文本与我的步骤类中的注释匹配
- spring 上下文中的类限定符与实际的类限定符匹配
- Spring 注解在正确的位置(@Component)
- 故事路径不为空或为空(我在
storyPaths()
方法中打印了这些,本文省略了打印)
编辑:我已尝试将 Eclipse 附加到此处概述的远程调试会话,但即使 maven 等待它附加我的任何断点都不会停止执行。
我这样开始我的测试:
我看到的错误是这样的:
场景文件文本:
故事课:
我的 POM 中的相关位(请注意,我们在测试范围内使用它,在与实际应用程序相同的模块中):
我的 Spring 配置文件:
最后是我的步骤课:
java - JBehave-Maven-Plugin,类路径中的错误 cdi-api 依赖项
我正在使用cdi-api-1.2依赖项,当使用 maven-jbehave-plugin 执行 jbehave 测试时,我注意到类是从 cdi -api-1.0而不是从 1.2 版本加载的。
经过一些研究后发现,cdi-api-1.0 依赖项是由 maven 本身($MAVEN_HOME/lib/)和 jbehave-maven-plugin 类路径的一部分提供的。
有没有人有类似的问题,并且知道如何解决这个类加载混乱?
// 萨沙
POM:
automation - JBehave:如何在 .story 文件中运行整个集合中的特定故事集
假设我有一个Main.story
文件,其中包含 -
- 登录场景
- 搜索场景
- 添加到购物车场景
- 更新数量方案
- 结帐场景
但现在如果我只想跑——
Login Scenario → Search Scenario → AddToCart Scenario → Checkout Scenario
并跳过UpdateQuantity 场景
如果不从故事文件中删除/删除任何内容,我怎么可能实现这一点。
bdd - 使用 Jbehave Junit 运行测试时出现 Story Not Found 错误
我已经配置了我的 Jbehave 测试项目并在项目中有一个 .story 文件。我尝试使用我在互联网上找到的配置设置,但是当我运行测试时,它给了我一个错误,堆栈跟踪如下所示
但是,我的 .story 文件与代码试图找到它的位置相同。要查找 .story 文件,我使用了以下代码:
在这方面的任何帮助或参考将不胜感激。
jbehave - 如果故事因超时而失败,如何执行 AfterStory/AfterScenario
目前,我有下一个问题。我正在通过 jbehave-maven 插件运行测试故事,并通过属性将自定义故事超时传递给它,并使用useStoryTimeouts
Timeout 正确传递它,但是当故事因超时而失败时,它不会执行 AfterStory/AfterScenario 步骤并且不会生成 Jbehave 报告. 如果 Story 因超时而失败,有人知道如何强制 Jbehave 执行 AfterStory 吗?谢谢
bdd - JBehave 错误识别具有相似步骤文本部分的两个步骤
以上是导致此问题的两个步骤定义。JBehave 误读了以下步骤。
即使相应的步骤应解释为第 2 步定义,它也会错误地将第 1 步解释为,
我正在使用 JBehave 4.0.5。这是一个公认的问题吗?或者更新的版本对此有修复?
java - jbehave 有办法在关键字之间共享变量吗?
我有这样的故事:
所以“当我选择“IP”如果不匹配时......”关键字是点击按钮并将我的模式更改为 IP。
我的问题是:如果我想在测试结束时添加返回原始设备模式的场景(如果它已更改)。
就像是:
我怎么知道原始模式是什么?
jbehave 有办法在关键字之间共享变量吗?