Ruby on rails 在TeamCity上运行测试时,如何修复tmp目录中的eNONT?
我已经建立了TeamCity来为我们的代码库运行测试。有时,一些测试会失败,出现Ruby on rails 在TeamCity上运行测试时,如何修复tmp目录中的eNONT?,ruby-on-rails,ruby-on-rails-4,teamcity,minitest,Ruby On Rails,Ruby On Rails 4,Teamcity,Minitest,我已经建立了TeamCity来为我们的代码库运行测试。有时,一些测试会失败,出现Minitest::UnexpectedError:Errno::enoint:No这样的文件或目录@dir\u initialize。这只发生在使用tmp目录的测试中(在那里缓存或创建文件),并且这些测试随机失败(90%以上的时间没有问题)。我从未在本地遇到过这个错误 我尝试将mkdir tmp添加到控制台构建步骤,但由于目录存在,构建失败。我想知道TeamCity是否在构建中弄乱了目录。我们使用的是Rails 4
Minitest::UnexpectedError:Errno::enoint:No这样的文件或目录@dir\u initialize
。这只发生在使用tmp
目录的测试中(在那里缓存或创建文件),并且这些测试随机失败(90%以上的时间没有问题)。我从未在本地遇到过这个错误
我尝试将mkdir tmp
添加到控制台构建步骤,但由于目录存在,构建失败。我想知道TeamCity是否在构建中弄乱了目录。我们使用的是Rails 4.2.11.1、Ruby 2.4.6、minitest 5.11.3和TeamCity 2019.1.1
我不知道如何解决这个问题-有什么想法吗?我通常看到的是,即使Rails服务器重新启动,
/tmp
也无法在本地清除。但是,在CI上运行是不同的,因为它们通常会为每个CI运行分配不同的机器。测试可能失败的某些情况:
/tmp
希望这有帮助 谢谢,它们是一些有用的指针。我们确实有一些测试依赖于
/tmp
——这些测试在这里失败了。我不认为有任何“链接”测试,但我会仔细看看。我将研究重构或尝试确保正确处理/tmp
。谢谢