如何在Atom中通过ruby-test运行Rails 5含空格名称的单个测试
解决Atom中ruby-test包无法运行名称含空格的测试问题
方法1:自定义测试命令包裹测试名称
打开Atom设置界面,找到ruby-test包的配置项,针对使用的测试框架(比如RSpec)修改自定义命令,将测试名称用双引号包裹。以RSpec为例,把默认命令替换为:
rspec {relative_path}:{line} --example "{test_name}"
这样Shell会将带空格的测试名称识别为单个完整参数,即可正常执行。
方法2:修改ruby-test包源码临时修复
找到ruby-test包的安装目录(通常是~/.atom/packages/ruby-test/),进入lib文件夹编辑ruby-test.js文件:
- 搜索包含
-e或testName的代码段,找到拼接测试命令的逻辑 - 将原本直接拼接测试名称的代码,改为用双引号包裹,比如把:
修改为:command += ' -e ' + testName;command += ' -e "' + testName + '"'; - 保存文件后重启Atom,即可处理带空格的测试名称。
方法3:直接用行号运行测试
ruby-test支持点击测试案例所在行的行号,或把光标定位到测试行后触发运行命令。这种方式基于行号而非测试名称,完全不受空格影响,是最快捷的临时解决方案。
内容的提问来源于stack exchange,提问作者gabeodess
相关产品推荐
相关产品推荐

