gpt4 book ai didi

ruby - RSpec定位资源路径

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:39 24 4
gpt4 key购买 nike

我有一个小项目(非 Rails),我正在使用 RSpec 进行测试。为了加载我正在使用的模型:

require_relative "../lib/checkout"

但是我遇到了加载配置文件的问题,例如,在以下情况下测试不再定位我的“items.csv”:

CSV.foreach("items.csv") do |row|

请注意,仅当从 spec 目录运行 spec 时才会出现此问题,即:

rspec checkout_spec.rb

从项目根目录运行它没问题:

rspec spec/checkout_spec.rb

如有任何帮助,我们将不胜感激。

最佳答案

CSV.foreach 使用当前目录查找文件。您可能应该使用 File.expand_path 获取到 items.csv 的绝对路径以避免此问题。

编辑添加示例

假设该文件位于root/items.csv,而带有此代码的ruby 文件位于root/lib/file.rb,您可以编写

path = File.expand_path File.join(File.dirname(__FILE__), '..', 'items.csv')
CSV.foreach path do |row|
# rest of code...

关于ruby - RSpec定位资源路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14422351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com