问题标签 [aruba]
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.
ruby - Cucumber/Aruba Thor:在单个场景中测试多个命令,第一次通过,第二次失败
我正在尝试使用 Bundler 和 Thor 编写一个小的 ruby gem 来生成一些模板。我正在用 Cucumber 和 Aruba 编写测试,但无法让它们通过。
我在应用程序中定义了以下 Thor CLI 类:
这是app.rb
文件:
和layout.rb
文件:
我为该app
方法编写了一个黄瓜测试,它通过了。但是,该layout
方法失败了。这是测试:
测试的第一部分很好地通过了(即创建了目录),但是关于验证文件是否存在的部分失败了。我检查了文件结构,并且layout_template.erb
文件存在,所以我无法弄清楚为什么它没有正确模板化。
ruby - 如何让 Aruba 使用不同的 ENV["HOME"]?
从文档:
默认情况下,Aruba 将创建一个目录 tmp/aruba,在其中执行文件操作。
但是,我的应用程序用于ENV["HOME"]
创建和读取文件 ( ~/.foorc
),因此我需要 Aruba 使用假的ENV["HOME"]
.
我是否需要将它设置在一些支持文件中,或者有没有办法告诉 Aruba 它的tmp/aruba
for files in ENV["HOME"]
?
这是我正在测试的代码的摘录(显然我正在使用 Cucumber/Aruba 进行更高级别的测试,但 ENV["HOME"] 的使用在这里很重要。):
规格:
asp.net-mvc - Aruba 上的 ASP.NET MVC 4
我试图环顾四周,但没有找到解决方案。我在 aruba 上有一个网络空间,我想发布默认的 mvc 4 互联网网站(你知道...主页、关于、联系人)。我试图发布,但它不起作用。我读到过将 .aspx(无用,因为这里没有 aspx 页面)或 .chstml(我试过)放在路由配置上,但什么也没发生。总是 HTTP 错误 403.14
有人尝试在 aruba 上发布 mcv 4 网站吗?我需要做哪些改变?
我正在使用带有 ASP.NET 4 和 Classic Pipeline 的 Windows 2008 Hosting
cucumber - 为“Given”和“Then”步骤定义相同的短语
我在这里寻找建议或最佳实践。
有时我想使用不同的介词为 2 个不同的步骤提供相同的正则表达式/短语。Given
我经常看到的案例是一个在两个方面和Then
步骤上都有意义的短语。
Given
用于执行和操作的步骤(设置测试状态)。并Then
用于验证状态但不执行操作的步骤。我经常发现相同的措辞对两者都适用。此类短语的一个示例是“我已登录”
这是一个人为的场景
当然,这在步骤定义中不起作用,因为 cucumber 不区分步骤谓词。
我玩弄了在所有碰撞Then
步骤中添加“验证”,或在所有重复Given
步骤中添加“那个”。但没有什么是正确的。
它当然有效,但我觉得我错过了一些不需要在我的大部分步骤中使用相同的“扩展谓词”的东西。
ruby - Cucumber/aruba 交互式测试
嗨,我目前正在玩黄瓜/阿鲁巴测试,到目前为止真的很喜欢。但我偶然发现了一个交互性问题。
我的应用程序监视文件夹的更改,并在此刻简单地打印“文件已更改”之类的内容。
如果我键入jsbreeze watchFolder foo
应用程序开始查看我的文件夹并将其打印到控制台:
“观看:foo”
我可以像这样用黄瓜/阿鲁巴轻松测试它:
但我实际上想测试它是否检测到变化,所以我希望我可以做这样的事情
但这似乎不起作用。我认为这是因为我的应用程序在那一刻以交互方式运行,所以我不能真正运行像 touch 这样的命令。有没有人遇到过这样的问题并且可能知道解决方法?
完整代码在github上: github-link
非常感谢每一个帮助
编辑:我取得了一点进展
我创建了一个新步骤,它产生一个子进程,然后执行 touch 命令。我可以清楚地看到触摸文件是在 foo 文件夹中创建的,但我的场景仍然看不到输出。
我的步骤如下所示:
我的场景:
.htaccess - Laravel 3 没有在 Aruba 上工作的路线
我用 Laravel 3 开发了一个小应用程序。在本地(MAMP)它运行良好,但是当我将它上传到我的服务器(由 Aruba 托管)并导入数据库时,我得到了正确的主页显示(也加载数据库没有任何问题)但我尝试访问的任何路线都会返回 404 错误。我还发现这不是 Laravel 的 404,他的消息是“我们需要一张地图”左右,而是服务器的 404。我认为这可能与 .htaccess 有关,但是什么?
ruby - 如何在 Aruba 中测试 CLI 时解决 Cucumber::Ambiguous match 错误
我正在学习使用几年前的指南使用 Aruba 测试 CLI。我收到一个错误
在查看了此类错误的几个示例后,我仍然不确定该怎么做。
在features/step_definitions/extra_aruba_steps.rb
我有这个添加的步骤:
有人可以解释这个错误以及如何解决它。
提前致谢
彼得阿尔弗林评论后更新:
我包含了 aruba/cucumber,它可以访问所有这些预定义的步骤
完整的错误输出:
ruby - Cucumber Aruba 尝试更改目录导致一个奇怪的错误
所以我创建了 dotfiles 目录,然后创建了cd
dotfiles。但是,黄瓜 aruba 给了我一个错误,说 dotfiles 不是目录。我想不通这是为什么?pry 中的代码会导致正确的行为。
我的脚步
钩前:
来源
错误的简短版本
这是完整跟踪的错误
任何人有任何解决方案或建议?如果您有任何问题,请不要犹豫。提前致谢
ruby - 为什么这会引发“不是目录”错误?
这是来自用于测试 CLI 的 Aruba Cucumber api。我不断收到一个错误,即 dotfiles 不是目录。它是一个目录,但无法弄清楚发生错误的原因。
来自阿鲁巴 api:
所以运行Dir.entries(ENV['HOME'])
包括目录dotfiles
。我知道它在那里。
现在使用来自 aruba api 的上述方法
为什么这没有看到 dotfiles 是一个目录?
任何帮助都会很棒。谢谢
ruby - 在不实际更改文件系统的情况下设置黄瓜进行测试时遇到问题
我一直在努力解决这个问题。我正在尝试测试一个 ruby CLI,它使用很多fileutils
操作,如创建目录和复制文件等。但是当我编写测试时,我需要一些方法来测试功能,而无需接触和更改实际的文件系统。我正在尝试使用fakefs
gem,但我马上遇到了错误
因此,它没有/tmp/aruba
根据自述文件找到 cucumber aruba 执行所有文件操作的位置。没有 ,测试运行良好fakefs
,所以我假设它与设置有关。
这是我的features/support/env.rb
文件
有谁知道我可能做错了什么?任何帮助表示赞赏。即使它是一个不使用 fakefs 的想法,我也想听听。谢谢