iutest  1.17.1.0
iutest_junit_xml_generator.hpp
[詳解]
1 //======================================================================
2 //-----------------------------------------------------------------------
13 //-----------------------------------------------------------------------
14 //======================================================================
15 #ifndef INCG_IRIS_IUTEST_JUNIT_XML_GENERATOR_HPP_C6AD11BD_BDA4_45F3_A736_53B09DD6A7BD_
16 #define INCG_IRIS_IUTEST_JUNIT_XML_GENERATOR_HPP_C6AD11BD_BDA4_45F3_A736_53B09DD6A7BD_
17 
18 //======================================================================
19 // include
21 
22 namespace iutest
23 {
24 
25 //======================================================================
26 // class
30 class JunitXmlGeneratorListener : public DefaultXmlGeneratorListener
31 {
32 public:
37  explicit JunitXmlGeneratorListener(const ::std::string& path)
39  {
40  }
41  virtual ~JunitXmlGeneratorListener()
42  {
43  }
44 public:
45  virtual bool IsReportable(const UnitTest& test) IUTEST_CXX_OVERRIDE;
46  virtual void OnReportTest(IFile* file, const UnitTest& test) IUTEST_CXX_OVERRIDE;
47 
48 private:
49  static void OnReportTestCase(IFile* file, const TestCase& test_case);
50  static void OnReportTestInfo(IFile* file, const TestInfo& test_info);
51  static void OnReportProperty(IFile* file, const char* name, const char* value);
52  static void OnReportTestProperty(IFile* file, const TestResult& test_result);
53  static void OnReportTestSkipped(IFile* file, const TestInfo& test_info);
54 public:
56  static bool SetUp()
57  {
58  ::std::string xmlpath = TestEnv::get_report_junit_xml_filepath();
59  if( !xmlpath.empty() )
60  {
61  TestEnv::event_listeners().set_default_xml_generator(new JunitXmlGeneratorListener(xmlpath));
62  return true;
63  }
64  return false;
65  }
66 };
67 
68 } // end of namespace iutest
69 
70 #if !IUTEST_HAS_LIB
71 # include "../impl/iutest_junit_xml_generator.ipp"
72 #endif
73 
74 #endif // INCG_IRIS_IUTEST_JUNIT_XML_GENERATOR_HPP_C6AD11BD_BDA4_45F3_A736_53B09DD6A7BD_
iutest::JunitXmlGeneratorListener::JunitXmlGeneratorListener
JunitXmlGeneratorListener(const ::std::string &path)
コンストラクタ
Definition: iutest_junit_xml_generator.hpp:38
iutest::DefaultXmlGeneratorListener
xml出力イベントリスナー
Definition: iutest_default_xml_generator.hpp:27
iutest::TestEnv::get_report_junit_xml_filepath
::std::string get_report_junit_xml_filepath()
junit xml 出力パスを取得
iutest_config.hpp
iris unit test config
iutest
iutest root namespace
Definition: iutest_charcode.hpp:31
iutest::JunitXmlGeneratorListener
xml出力イベントリスナー
Definition: iutest_junit_xml_generator.hpp:31
IUTEST_CXX_OVERRIDE
#define IUTEST_CXX_OVERRIDE
override definition
Definition: iutest_compiler.hpp:670
iutest_default_xml_generator.hpp
iris unit test xml 出力イベントリスナー ファイル