1

Cucumber 用の小さなモンキー パッチを作成しました。これにより、ファイル パスを別の方法で出力できるようになり、OSX ターミナルで Cmd キーを押しながらダブルクリックして、TextMate でファイルを直接開くことができます。

module Cucumber
  module Ast
    class Scenario
      alias_method :old_file_colon_line, :file_colon_line

      def file_colon_line(*arg)
        self.class.textmate_colon_line(old_file_colon_line)
      end

      def self.textmate_colon_line(file_colon_line)
        file, line = file_colon_line.split(':')
        'txmt://open?url=file://' + File.expand_path(File.dirname(__FILE__) + '/../../') + '/' + file + '&line=' + line
      end
    end
  end
end

class Proc
  alias_method :old_file_colon_line, :file_colon_line

  def file_colon_line
    Cucumber::Ast::Scenario::textmate_colon_line(old_file_colon_line)
  end
end

私のチームの全員が TextMate を使用しているわけではないので、Cucumber を呼び出すときにカスタム --txmt 引数を使用してこのモンキー パッチを有効にしたいと思います。

cucumber features/create_task.feature --txmt

これにより、次の結果が得られます。

invalid option: --txmt (OptionParser::InvalidOption)

だから私はこのようにCucumberにモンキーパッチを当てようとしています:

module Cucumber
  module Cli
    class Options
      def self.parse!(args)
        # Do some stuff
      end
    end
  end
end

しかし、悲しいことに、これは機能しません。Cucumber::Cli::Options.parse!メソッドはこのアプローチで上書きされていないようですがCucumber::Ast::Scenario、同じアプローチでは機能しているようです。

理由はありますか?どうもありがとう。

4

1 に答える 1

0

モンキー パッチを適用する代わりに、https://github.com/raldred/cucumber_textmate/のようなカスタム フォーマッタを使用することをお勧めします。

次に、オプションでキュウリを起動できます--format TextmateFormatter

于 2012-07-08T15:55:46.193 に答える