5

我试图让整个设置在我的 Mac 上使用 Autotest/Growl/Shoulda 来测试我正在为Authlogic 开发的 gem 。我过去使用过很多 RSpec,但想改用 Shoulda。

这个 gem 将与 Rails 一起工作,但我制作的其他 gem 只是普通的旧 ruby​​ 库,不依赖于 Rails 模块。测试红宝石的推荐方法是什么?

ZenTest 似乎主要集中在 Rails 上,因为我还没有找到一个 gem 可以让它autotest自动运行我所有的 TestUnit 测试,无论我是使用 Rails、Sinatra 还是只是制作一个 gem。

问题是,在您正在构建的 gem 上运行测试的设置/工作流程是什么?你有什么资源可以帮助我吗?

或者更具体、可测试的问题:如何使用 Autotest 运行 Paperclip 或 Authlogic 的测试套件?

到目前为止,我一直在使用这些资源:

非常感谢。想让测试成为我工作流程的核心部分。

4

2 回答 2

3

Autotest(以及一般的 ZenTest)并不专注于 Rails。事实上,rails 代码被提取到一个单独的 gem 中。但是,默认情况下,它确实希望项目文件夹中的文件遵守特定的布局和文件命名约定。例如:

.
|-- lib
|   `-- my_library.rb
`-- test
    |-- test_helper.rb
    `-- test_mylibrary.rb

我刚刚发布了一个与 Shoulda 一起使用并且可以使用 Autotest 进行测试的小项目。

如果您想偏离这些约定(例如,通过在您的测试代码文件名上添加后缀而不是前缀“test”),您可以提供一个 .autotest 文件,该文件使用 autotest 提供的 API 来使用您自己的方案。RSpec 项目本身有一个非常完整的示例。

于 2010-05-12T22:05:41.537 回答
0

我遇到了类似的问题,所以我想我会为后代分享我的解决方案。

我有一个包含大量文件的项目树。我知道 autotest 在 lib/ 中的文件和 test/ 中的文件之间查找映射的约定。但是我错误地认为这意味着 autotest 默认只在 lib/ 和 test/ 中查找文件。不是这样。如果您不告诉它查找特定文件或目录,它将扫描整个树。如果您的树中有超过 100,000 个文件,这可能不是一件好事。:-)

所以我运行自动测试并没有看到任何结果,以为它没有找到文件,实际上它找到了太多文件并试图在没有给出任何反馈的情况下翻阅它们。通过将最大的目录移出主树,我得到了自动测试响应。

(我可能必须学会破解自动测试配置文件。)

于 2011-12-20T19:46:59.707 回答