require_relative './minitest_helper' class TestJenkinsJunitBuilder < MiniTest::Test def test_that_it_has_a_version_number refute_nil ::JenkinsJunitBuilder::VERSION end def test_system_message_return_value_initialized stack_trace = < some thing went wrong give me a stacktrace or something XML expected.strip! assert_equal expected, actual end def test_dump_file_not_specified assert_raises(JenkinsJunitBuilder::FileNotFoundException) { t_suite = JenkinsJunitBuilder::Suite.new t_suite.write_report_file } end def test_dump_report_file _report_path = '/tmp/jenkins_junit_builder_test_dump_report_file.xml' t_passed = JenkinsJunitBuilder::Case.new t_passed.name = 'My first test case' t_passed.time = 65 t_passed.classname = 'FirstTestSuite' t_passed.result = JenkinsJunitBuilder::Case::RESULT_PASSED t_failed = JenkinsJunitBuilder::Case.new t_failed.name = 'My failing functionality' t_failed.classname = 'FirstTestSuite' t_failed.result = JenkinsJunitBuilder::Case::RESULT_FAILURE t_failed.message = 'timeout reached' t_failed.system_out.message = 'some thing went wrong' t_failed.system_err.message = 'give me a stacktrace or something' t_suite = JenkinsJunitBuilder::Suite.new t_suite.report_path = _report_path t_suite.name = 'Testing some cases' t_suite.add_case t_passed t_suite.add_case t_failed actual = t_suite.write_report_file expected = < some thing went wrong give me a stacktrace or something XML expected.strip! File::delete _report_path assert_equal expected, actual end def test_dump_report_file_appending _report_path = '/tmp/jenkins_junit_builder_test_dump_report_file.xml' existing_report_content = < XML File.write _report_path, existing_report_content t_passed = JenkinsJunitBuilder::Case.new t_passed.name = 'My first test case' t_passed.time = 65 t_passed.classname = 'FirstTestSuite' t_passed.result = JenkinsJunitBuilder::Case::RESULT_PASSED t_failed = JenkinsJunitBuilder::Case.new t_failed.name = 'My failing functionality' t_failed.classname = 'FirstTestSuite' t_failed.result = JenkinsJunitBuilder::Case::RESULT_FAILURE t_failed.message = 'timeout reached' t_failed.system_out.message = 'some thing went wrong' t_failed.system_err.message = 'give me a stacktrace or something' t_suite = JenkinsJunitBuilder::Suite.new t_suite.report_path = _report_path t_suite.append_report = true t_suite.name = 'Testing some cases' t_suite.add_case t_passed t_suite.add_case t_failed actual = t_suite.write_report_file expected = < some thing went wrong give me a stacktrace or something XML expected.strip! File::delete _report_path assert_equal expected, actual end end