Categories: None [Edit]
baf
== Baf
baf helps writing an user acceptance test suite with a dedicated library
and cucumber steps. It can run and wait for programs in a modified
environment, verify the exit status, the output streams and other side
effects. It also supports interactive programs and writing to their
standard input.
Then, it provides a DSL to write the CLI:
require 'baf/cli'
module MyProgram
class CLI < Baf::CLI
def setup
flag_version '0.1.2'.freeze
option :c, :config, 'config', 'specify config file' do |path|
@config_path = path
end
end
def run
usage! unless arguments.any?
puts 'arguments: %s' % arguments
puts 'config: %s' % @config_path if @config_path
end
end
end
MyProgram::CLI.run ARGV
Which behaves this way:
% ./my_program
Usage: my_program [options]
options:
-c, --config config specify config file
-h, --help print this message
-V, --version print version
zsh: exit 64 ./my_program
% ./my_program --wrong-arg
Usage: my_program [options]
options:
-c, --config config specify config file
-h, --help print this message
-V, --version print version
zsh: exit 64 ./my_program --wrong-arg
% ./my_program foo
arguments ["foo"]
% ./my_program -c some_file foo
arguments ["foo"]
config path some_file
Total
Ranking: 24,728 of 183,107
Downloads: 51,810
Daily
Ranking: 31,663 of 183,092
Downloads: 4
Downloads Trends
Ranking Trends
Num of Versions Trends
Popular Versions (Major)
Popular Versions (Major.Minor)
Depended by
Rank | Downloads | Name |
---|---|---|
12,772 | 151,086 | producer-core |
28,331 | 42,770 | uh-wm |
81,037 | 10,151 | mmve |
Owners
# | Gravatar | Handle |
---|---|---|
1 | tjouan |