6

我在 Windows 上使用 Git Bash 完成大部分 Rails 工作,每次运行bundle exec rspec spec它都会提醒我“你必须gem install win32console在 Windows 上使用颜色”,然后以纯黑白运行 RSpec。然而我确实安装了 win32console,当我gem list在列表上运行时,它有win32console (1.3.0 x86-mingw32). RSpec 工作正常,但我希望它有一些颜色。我用谷歌搜索了这个并找到了多种解决方案,但似乎没有一个对我有用。有人可以在 Windows 的 Git Bash 上写出使用 RSpec 获取颜色的“逐步”方法吗?

4

4 回答 4

4

这个博客很好地展示了如何做 ansicon。 http://thehumblecto.blogspot.com/2012/06/rspec-color-output-in-windows.html

于 2013-01-28T05:08:11.033 回答
3

我不熟悉适用于 Windows 的 Git Bash,但如果它使用标准 Windows 控制台,您可以尝试使用ANSICON

您应该访问ANSICON 主页以了解最新版本和下载位置。

它以包含源代码和二进制文件的 ZIP 包形式提供。安装说明在readme.txt.

Github 上仍然提供较旧的下载:https ://github.com/adoxa/ansicon/downloads

使用屏幕截图记录 ANSICON 的博客文章有:

于 2011-06-17T06:11:24.440 回答
2

跟进@dallma77 帖子,使用 ansicon 似乎确实允许 RSpec 将颜色输出到 Windows cmd 提示窗口!

我现在可以在不复制 dll 文件的情况下从 RSpec 获得颜色输出(很可能也无需运行“ansicon -i”或“ansicon -I”)。在您的 PATH 中包含一个指向 x64 文件夹(例如 C:\Users\yourusername\pathtofolder\ansi150\x64)或 x86 文件夹的条目,您在其中提取了 ansicon zip 文件(我从这里下载了 zip 文件http://adoxa .3eeweb.com/ansicon/index.html)。

但诀窍似乎是 RSpec 必须从应用程序根目录运行,否则我看不到颜色输出。

我正在关注 Michael Hartl (http://ruby.railstutorial.org/) 的(优秀)书籍 Ruby On Rails 教程,并且“sample_app”是我的应用程序根目录,所以我看到绿色和红色输出,例如 C: \Sites\rails_projects\sample_app>bundle exec rspec spec\requests\static_pages_spec.rb 但只有单色输出,例如 C:\Sites\rails_projects\sample_app\spec\requests>bundle exec rspec static_pages_spec.rb

于 2012-02-15T00:54:49.673 回答
1

因为这似乎没有答案......看到这个让我在我的 Win7 机器上重新审视这个问题。我也无法让颜色发挥作用,但因为当时我还有很多其他事情要担心(我是 RR nweb(我猜现在仍然是)并且 Rspec 正在使用 B/W)所以我继续前进. 看到@Zetetic 的回复提醒我,我已经下载了 ANSICON,但没有将这些点与它联系起来。所以,我尝试了以下方法。我只是将 ansi32.dll 和 ansicon.exe 从 ansi140 的 x86 文件夹(从 ansi140.zip 中提取)复制到我的应用程序的根文件夹中。使用 Ruby 和 Rails 打开一个 cmd 窗口并指向我的应用程序根目录并运行 ansicon.exe 然后运行我的测试,我看到绿色(和红色)。

我看到已经有一段时间了,所以我希望这对某人有所帮助。我上周才在这里活跃起来。

顺便说一句,我的 gem 列表中没有 win32console,但我确实有 win32-service 0.7.2(我相信不相关)和其他一些 win32-gem。不记得它们的用途/用途,但这里是列表:win32-api 1.4.8、win32-open3 0.3.2、windows-api 0.4.1、windows-pr 1.2.1。

最有可能的是,它们是 win32-service 或捆绑器自动为我包含的其他东西的依赖项宝石。那个捆绑器真是太棒了。但是,我认为 win32-service 用于 mongrel-service (我无法开始工作,但这是另一个问题)。

于 2012-02-09T21:10:45.067 回答