0

我正在开发我的第一个 RoR 网站。您可以将其视为拥有产品的商店。

我使用 Ruby 2.0、Rails 4.0、Cucumber 进行集成测试,使用 RSpec 进行单元测试。我还使用 FactoryGirl 使用测试数据填充数据库。除了自动测试之外,我希望能够在本地服务器上打开网站并查看一些带有描述和图像的虚拟产品。

这里有一个问题:在哪里存储开发环境中使用的产品图像?

以下是我的想法:

  • 我还不想用回形针。
  • 我不能将虚拟图像存储在资产或公共中,因为它们将被部署到生产环境中。
  • 我不知道如何访问 /test/factories/images 或除 assets 和 public 之外的任何其他目录。
  • 我不想将图像存储在数据库中。
  • 我需要可部署的解决方案,以防我需要从 CI 填充测试网站。

这似乎是一个常见的 Rails 问题:在哪里存储客户端可以访问的虚拟测试资源? 然而,我发现的唯一解决方案是使用回形针。但是我还没有上传。我只想为虚拟产品提供 100 张图片

4

2 回答 2

0

您可以将图像放在assets诸如的子目录中assets/dummy,然后添加assets/dummy到 .gitignore 文件(假设您使用的是 git),以便虚拟目录不可部署。

于 2013-07-22T18:50:51.243 回答
0

您 cud 为此使用您的 db 种子文件,然后您的测试仪应该只需要运行rake db:seed来设置虚拟文件。

如果你在里面创建一个目录/db并调用它seed_files或者你喜欢的东西。然后在你的/db/seeds.rb你 cud 中编写一些代码,将这些文件移动到/public/images/product_images. /public/images/product_images也应该在 git 中忽略。

当你这样做时,你会得到一个名称模式并将它们锚定到数据库中的一些产品记录中。unless Rails.env.production?如果您将在生产中使用您的种子文件但不为虚拟图像播种,您还可以将您的种子脚本放在一个块中。

于 2013-07-22T19:39:10.993 回答