Clx*_*lxy 4 ruby visual-studio-code
我有这样的 rspec 测试代码
describe 'Utils' do
puts 1111
describe '#time_condition' do
puts 2221
it do
puts 'aaa'
end
puts 2223
end
end
Run Code Online (Sandbox Code Playgroud)
我的launch.json像这样
{
"name": "RSpec - all",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/spec/*_rspec.rb",
"args": [
"--pattern",
"*_rspec.rb"
]
},
Run Code Online (Sandbox Code Playgroud)
当我在 vscode 上运行测试时,我得到了
1111
2221
2223
Run Code Online (Sandbox Code Playgroud)
当我通过命令运行测试时,得到
>rspec spec --pattern *_rspec.rb
1111
2221
2223
aaa
.
Finished in 0.003 seconds (files took 0.23602 seconds to load)
1 example, 0 failures
Run Code Online (Sandbox Code Playgroud)
如您所见,没有 'aaa' 输出,意味着没有执行 'it'。那么......我怎样才能让“它”在 vscode 上运行?
顺便说一下,我的规范配置文件(由 rspec --init 生成)就像
.rspec
--color
--require spec_helper
Run Code Online (Sandbox Code Playgroud)
规格\spec_helper.rb
RSpec.configure do |config|
config.expect_with :rspec do |expectations|
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
end
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = true
end
config.profile_examples = 10
config.order = :random
Kernel.srand config.seed
end
Run Code Online (Sandbox Code Playgroud)
VS代码:1.4.0
Ruby 扩展:0.5.3
谢谢
终于让 RSpec 在 VS Code 上运行,带断点,在 Mac 上!我的初创公司没有人知道怎么做。请参阅 Microsoft 上方便的GitHub 页面。
我的Gemfile。安装 3 个宝石:
source 'https://rubygems.org'
gem 'rspec'
gem 'ruby-debug-ide'
gem 'debase'
Run Code Online (Sandbox Code Playgroud)
我的launch.json:
{
"configurations": [
{
"name": "Run RSpec - all",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "/Users/[your name]/.rvm/gems/ruby-2.6.3/bin/rspec",
"args": [
"--pattern",
"${workspaceRoot}/spec/**/*_spec.rb"
]
},
{
"name": "Debug RSpec - open spec file",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceRoot}",
"useBundler": true,
"pathToBundler": "/Users/[your name]/.rvm/gems/ruby-2.6.3/bin/bundle",
"pathToRDebugIDE": "/Users/[your name]/.rvm/gems/ruby-2.6.3/bin/rdebug-ide",
"debuggerPort": "1235",
"program": "/Users/[your name]/.rvm/gems/ruby-2.6.3/bin/rspec",
"args": [
"${file}"
]
},
]
}
Run Code Online (Sandbox Code Playgroud)
对于“程序”,使用值which rspec。我的路径假设我用 RVM 安装了 Ruby。你的会不一样。
对于“pathToBundler”,使用值 which bundle
对于“pathToRDebugIDE”,使用值 which rdebug-ide
对于这一行:"${workspaceRoot}/spec/**/*_spec.rb",您的可能会有所不同,具体取决于您的规范文件的组织方式,按文件夹。
运行 RSpec:
在 VS Code 中,转到Terminal -> New Terminal顶部菜单。确保您位于 Ruby 项目的根目录中。
如果您愿意,请单击任意行号的左侧以设置断点。
单击 VS Code 左侧的 Bug 图标。从左上角的下拉框中选择配置:
Debug RSpec - open spec file 或者Run RSpec - all然后单击Start Debugging左上角的绿色三角形 ( )。
更简单:安装 VS Code Extension Rails Test Runner。然后右键单击您的规范文件以执行以下任一操作:
Run all tests in file 或者Run tests starting from the current line好的。我解决了!我的错误是为程序设置了错误的值。程序必须是 rspec 路径。
...
{
"name": "RSpec - all",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "D:/Ruby/Ruby21/bin/rspec",
"args": [
"--pattern",
"${workspaceRoot}/spec/**/*_rspec.rb"
]
},
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7535 次 |
| 最近记录: |