Java JBehave+;Serenity元过滤器在示例表行上的工作?如何解决这个问题?

Java JBehave+;Serenity元过滤器在示例表行上的工作?如何解决这个问题?,java,bdd,jbehave,serenity-bdd,Java,Bdd,Jbehave,Serenity Bdd,我的示例表和元过滤器测试不想开始。 我正在使用jbehave core 4.0.4和serenity 1.1.21 我有以下场景(这里简化了,但也有类似的问题) 我使用这个“@run”标记在本地计算机上进行测试运行。但此命令不会运行上述场景。输出为“成功”,但输出有: Scenario: Add new logo by Role (test) Failed to run story stories/club/ClubSetups1.story java.lang.NullPointerExcep

我的示例表和元过滤器测试不想开始。 我正在使用jbehave core 4.0.4和serenity 1.1.21

我有以下场景(这里简化了,但也有类似的问题)

我使用这个“@run”标记在本地计算机上进行测试运行。但此命令不会运行上述场景。输出为“成功”,但输出有:

Scenario: Add new logo by Role (test)
Failed to run story stories/club/ClubSetups1.story
java.lang.NullPointerException
    at org.jbehave.core.embedder.PerformableTree$PerformableScenario.perform(PerformableTree.java:876)
    at org.jbehave.core.embedder.PerformableTree$PerformableStory.performScenarios(PerformableTree.java:804)
    at org.jbehave.core.embedder.PerformableTree$PerformableStory.perform(PerformableTree.java:777)
    at org.jbehave.core.embedder.PerformableTree.performCancellable(PerformableTree.java:409)
    at org.jbehave.core.embedder.PerformableTree.perform(PerformableTree.java:380)
    at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:291)
    at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:265)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
12 stories excluded by filter: +run -ignore
奇怪的是,如果我为每一行添加带有“@run”值的“Meta:”列,那么测试执行得很好。所以我建议,即使在示例表并没有“Meta:”列的情况下,metafilter也可以在示例表上工作,这在我看来是错误的


也许有人会建议这个解决方案,因为现在除了添加这个“Meta:”列之外,我看不到任何其他解决方案。但这很糟糕,因为我必须复制所有的参数。

看看恢复到以前版本的jbehave是否有帮助。4.0.4似乎有一个bug。请参阅此链接

verify -Dmetafilter=+run
Scenario: Add new logo by Role (test)
Failed to run story stories/club/ClubSetups1.story
java.lang.NullPointerException
    at org.jbehave.core.embedder.PerformableTree$PerformableScenario.perform(PerformableTree.java:876)
    at org.jbehave.core.embedder.PerformableTree$PerformableStory.performScenarios(PerformableTree.java:804)
    at org.jbehave.core.embedder.PerformableTree$PerformableStory.perform(PerformableTree.java:777)
    at org.jbehave.core.embedder.PerformableTree.performCancellable(PerformableTree.java:409)
    at org.jbehave.core.embedder.PerformableTree.perform(PerformableTree.java:380)
    at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:291)
    at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:265)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
12 stories excluded by filter: +run -ignore