【发布时间】:2014-10-09 08:08:03
【问题描述】:
我有一个多模块 Maven 项目。我的故事文件位于它们自己的模块中,因为我们从它们驱动了单独的 gui 和 api 测试,并创建了一个包含这些的 jar - 故事文件命名为 *.feature。
在另一个模块中,我创建了一个Story 类:
public class NewAnnouncements extends JUnitStory {
@Override
public Configuration configuration() {
return new MostUsefulConfiguration().useStoryLoader(new LoadFromClasspath());
}
@Override
public InjectableStepsFactory stepsFactory() {
return new InstanceStepsFactory(configuration(), new NewAnnouncements());
}
}
但是,可以预见的是,这并没有找到它的故事。怎么可能?这些故事不被称为 *.story 并且它们不在文件系统上(尽管它们在同一个类路径中)。我得到的错误是:
org.jbehave.core.io.StoryResourceNotFound: Story path 'org/.../announcement/new_announcements.story' not found by class loader sun.misc.Launcher$AppClassLoader@63e68a2b
如何让 jbehave 找到我的故事文件?我如何让它理解他们不被称为*.story?
【问题讨论】:
-
我已经阅读了 jbehave 文档,但这根本没有帮助,因为大多数示例似乎都是从文件系统加载的。我也用谷歌搜索了这个问题,这也没有帮助,主要是出于同样的原因。
-
@BackSlash - 感谢您的链接,但我不明白它与手头的问题有何关系。你能扩大一点吗?
-
请阅读:第二个代码块(小代码块)之前的文本说:构建器为所有支持的格式提供默认值, 但是如果用户需要为给定格式创建报告者的定制实例,可以通过覆盖默认值轻松完成。例如。覆盖 TXT 格式的报告器以使用“.text”扩展名。之后有一个关于如何使用
.text扩展的示例(您可以适应您的扩展) -
再次感谢,我已经阅读了它,但我不打算创建一个记者(还)——我正在尝试找到这些故事,以便完全运行我的测试。现在,我没有什么要报告的。我的问题在这一点上不清楚吗?我应该更新它吗?