Introducing the Testkit123 gem
h = {
templates: {
testdata: 'http://rorbuilder.info/r/test_project/testdata.xml',
testx: 'http://rorbuilder.info/r/test_project/test.rsf',
},
localpath: '/home/james/jamesrobertson.eu/test-ruby',
datapath: '/home/james/rorbuilder/r/gemtest',
gemtest_url: 'http://rorbuilder.info/r/gemtest/',
rubyver: 'ruby-2.5.1',
debug: true
}
TestKit123.new(h).new_project('quiz_game', save: true).create_files
The above example demonstrates how to create a new test project and to create the associated files used to by the test framework called testdata.
Files created
The new_project method created the file quiz_game.txt in the file directory /home/james/jamesrobertson.eu/test-ruby.
The create_files method created the following files and directories:
- ~/rorbuilder/r/gemtest/quiz_game.rsf
- ~/rorbuilder/r/gemtest/quiz_game/testdata_quiz_game.xml
- ~/rorbuilder/r/gemtest/quiz_game/test_quiz_game.rb
- ~/jamesrobertson.eu/test-ruby/quiz_game/.testdata
Template files used
testdata: 'http://rorbuilder.info/r/test_project/testdata.xml'
<tests> <summary> <title>#{proj} testdata</title> <recordx_type>polyrex</recordx_type> <schema>tests/test[path,type,description]/io[type,*]</schema> <ruby_version>#{config[:ruby_version]}</ruby_version> <script>//job:test #{config[:http_gemtest]}#{proj}.rsf</script> <test_dir>#{config[:local_path]}/#{proj}</test_dir> </summary> <records> <test id='1'> <summary> <path>1</path> <type>string only</type> <description></description> <format_mask>[!path] [!type] [!description]</format_mask> </summary> <records> <input id='2'> <summary> <date>1-Apr-2011#3:12pm</date> <times>Mon-Fri 10:30-16:00</times> </summary> <records></records> </input> <output id='3'> <summary> <within>true</within> </summary> <records></records> </output> </records> </test> </records> </tests>
testx: 'http://rorbuilder.info/r/test_project/test.rsf'
<package> <job id='test'> <script src="http://rorbuilder.info/r/ruby/testdata.rb"/> <script src="http://rorbuilder.info/r/ruby/#{proj}.rb"/> <script src="#{config[:http_gemtest]}#{proj}/test_#{proj}.rb"/> <script> <![CDATA[ file = '~/jamesrobertson.eu/test-ruby/#{proj}' this_path = File.expand_path(file) if this_path != Dir.pwd then puts "you must run this from script #{'#{this_path}'}" exit end url = '#{config[:http_gemtest]}#{proj}/testdata_#{proj}.#{ext}' puts 'testing ..' test = Test#{classname}.new(url) test.debug = true if params.has_key? :debug id = params[:id] ? params[:id] : nil test.run id ]]> </script> </job> </package>
Resources
- testkit123 https://rubygems.org/gems/testkit123
test testing gem testdata config