Method: PDK::Test::Unit.list
- Defined in:
- lib/pdk/tests/unit.rb
.list ⇒ Object
Returns array of { :id, :full_description }.
148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/pdk/tests/unit.rb', line 148 def self.list PDK::Util::Bundler.ensure_bundle! PDK::Util::Bundler.ensure_binstubs!('rake') command_argv = [File.join(PDK::Util.module_root, 'bin', 'rake'), 'spec_list_json'] command_argv.unshift('ruby') if Gem.win_platform? list_command = PDK::CLI::Exec::Command.new(*command_argv) list_command.context = :module output = list_command.execute! rspec_json = PDK::Util.find_first_json_in(output[:stdout]) raise PDK::CLI::FatalError, _('Failed to find valid JSON in output from rspec: %{output}' % { output: output[:stdout] }) unless rspec_json if rspec_json['examples'].empty? = rspec_json['messages'][0] return [] if == 'No examples found.' raise PDK::CLI::FatalError, _('Unable to enumerate examples. rspec reported: %{message}' % { message: }) else examples = [] rspec_json['examples'].each do |example| examples << { id: example['id'], full_description: example['full_description'] } end examples end end |