问题标签 [fantom]
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.
mongodb - 如何对使用 AlienFactory 的 afIoc 和 afMorphia 框架的 Fantom DAO 类进行单元测试?
假设我有一个简单的 Fantom 应用程序来从 MongoDB 数据库中检索数据。该应用程序使用 afIoc(AlienFactory 的 IoC 框架)和 afMorphia(AlienFactory 的 MongoDB 框架)。我有一个名为 Foo 的简单实体和一个 DAO 类 (FooDao) 来从数据库中检索 Foo 实体。我想使用 fant 命令测试 DAO 类,但出现以下错误。我做错了什么还是有更好的方法来编写测试?请注意,此应用程序不使用 afBedSheet 网络框架。
这就是我的类的样子(明确的“使用”语句来显示哪些类来自哪些 Fantom pod):
风扇/AppModule.fan
粉丝/Foo.fan
粉丝/FooDao.fan
粉丝/FooDaoTest.fan
构建.fan
fantom - 如何解决 Fantom pod afBedNap、afBounce 和 afBedSheet 之间的依赖问题?
我在尝试安装afBedNap 时发现了一个问题。过程进行了...
然后我尝试创建 myBedNap
但得到:
然后我跑了
并再次尝试创建 myBedNap 但这次我得到了:
所以我跑了:
请注意,它在这里将 afBedSheet 版本改回了 1.4.0,当我首先安装 afBedNap 时,它被降级了。当我再次尝试再次创建 myBedNap 时,这次我得到了:
此时有一个循环,我不知道如何打破(或者即使我可以刹车):afBedNap 需要 afBedSheet 1.3.16 和 afBounce 但 afBounce 需要 afBedSheet 1.4.0,而 afBedNap 不能使用。请问我该如何解决?
rest - 如何使用 Fancordion 验证返回 HTTP 404 的 RESTful 服务?
我正在用Fantom编程语言编写一个 RESTful API。我正在使用Fancordion编写验收测试并有这种情况:
国家.fandoc
CountryFixture.fan
这很好用。现在我想验证当一个无效的国家代码传递给请求时,RESTful 服务会返回一个 HTTP 404 错误,正如我已经使用浏览器实现和验证的那样。但是,我没有在 Fancordion 文档中找到如何验证是否返回了 HTTP 404 错误。相反,我得到的是夹具故障。
我对这个场景的验收测试是(附加到 Country.fandoc):
请问我怎样才能赶上404?
java - Fantom项目在引用java源代码时编译成jar?
我有一个 Fantom 项目,它使用一些本机 java 文件,并且可以成功编译成 pod。但是,我正在尝试将其编译为 jar 文件,以使其对其他用户更便携。
我一直在尝试使用 JarDist 工具,但它需要一个 BuildScript 作为构造函数的输入,我不确定这个脚本需要什么。
我得到的最接近的是以下构建脚本:
这会产生以下错误代码
ProcessRunner.Wrapper 是我在 Market pod 中使用的 java 本机文件。
cookies - 什么是粉丝饼干?
我使用 BedSheet 编写了一个简单的站点来测试添加 cookie。当我运行代码并使用 firebug 检查 cookie 时,我发现了一个额外的 cookie,我没有添加命名fanws
(带有 value 06e3d816-7626-7b00-205a-0013e8a56e9d-dbc9c6c8fa03cfa4
)。
这是我的代码:
这是什么饼干?它是干什么用的?这个价值是从哪里来的?
fantom - 如何扩展实现序列化构造函数的 Fantom 类?
Fantom 编程语言的一个强大功能是it-block 构造函数,通常用于可序列化的类中。不幸的是,我找不到足够详细的文档来做我认为应该很简单的事情:扩展一个声明这种类型的构造函数的类。到目前为止,我发现的最好的文档在这篇文章中,但没有显示我正在尝试做的事情的示例。
假设我有这些课程:
到目前为止一切顺利,它打印:“我是动物,我的名字是鳍状肢”。现在我想用这个类扩展 Animal:
但是 Fantom 编译器说:
因此,我将课程更改为:
但现在编译器抱怨:
这是有道理的,因为我传递的是 Dog 实例,而不是 Animal,那么我应该将什么传递给超级构造函数呢?
fantom - 自定义 FancordionRunner 无法编译。怎么了?
我正在尝试从官方Fancordion 用户指南中编译以 MyFancordionRunner 为模型的 FancordionRunner ,但是,编译器会抛出此错误...
Fantom 编译器在 super(f) 调用中抱怨:
我尝试使输入参数不可为空( |This| f )无济于事。添加或删除调用 f(this) 也没有任何区别。我试过 Fancordion v1.0.0 以及最新的 v1.0.4
请问我做错了什么?
fantom - 为什么 FancordionRunner suiteSetup 没有被调用?
我正在按照Fancordion v1.0.4 官方文档中的 MyFancordionRunner 示例来测试 BedSheet 应用程序,但未调用 suiteSetup 方法(见下文)并且服务器保持为空,导致夹具测试失败并出现 NullPointerException。
查看 FancordionRunner 源代码,runFixture(Obj fixtureInstance) 方法应该在第一次按照这段代码运行 Fixture 时调用 suiteSetup() ......
但由于某种原因,在我的情况下,条件 (locals.originalRunner == null) 必须返回 false,从而导致 suiteSetup() 调用被跳过。这段代码似乎使用了我不熟悉的 Fantom Actors。
我在 MyFancordionRunner 中手动调用 suiteSetup,如下所示:
此变通方法解决了 NullPointerException 问题并允许固定装置成功运行,但我不知道此变通方法是否违背了 Actor 逻辑的目的,我认为这意味着只调用一次 suiteSetup。
谁能解释一下这里可能发生了什么阻止了在 runFixture(...) 中调用 suiteSetup 方法?
fantom - 如何引用 Fancordion 夹具表中的行索引?
使用Fancordion v1.0.4中的表,如何使用列命令中的行索引来验证其值。
例如,如果我的夹具是:
规格是:
#ROW
在上面的规范示例中,我应该使用什么来代替占位符?
有没有更好的方法来编写这个规范和夹具?例如,在夹具中创建一个方法来检索列表中的每个单独地图而不是完整列表是否更好?