iutest  1.17.99.14
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
20 // IWYU pragma: begin_exports
22 // IWYU pragma: end_exports
23 
24 namespace iutest
25 {
26 
27 //======================================================================
28 // class
32 class JunitXmlGeneratorListener : public DefaultXmlGeneratorListener
33 {
34 public:
39  explicit JunitXmlGeneratorListener(const ::std::string& path)
41  {
42  }
43  virtual ~JunitXmlGeneratorListener()
44  {
45  }
46 public:
47  virtual bool IsReportable(const UnitTest& test) IUTEST_CXX_OVERRIDE;
48  virtual void OnReportTest(IFile* file, const UnitTest& test) IUTEST_CXX_OVERRIDE;
49 
50 private:
51  static void OnReportTestSuite(IFile* file, const TestSuite& test_suite);
52  static void OnReportTestInfo(IFile* file, const TestInfo& test_info);
53  static void OnReportProperty(IFile* file, const char* name, const char* value);
54  static void OnReportTestProperty(IFile* file, const TestResult& test_result);
55  static void OnReportTestSkipped(IFile* file, const TestInfo& test_info);
56 public:
58  static bool SetUp()
59  {
60  ::std::string xmlpath = TestEnv::get_report_junit_xml_filepath();
61  if( !xmlpath.empty() )
62  {
63  TestEnv::event_listeners().set_default_xml_generator(new JunitXmlGeneratorListener(xmlpath));
64  return true;
65  }
66  return false;
67  }
68 };
69 
70 } // end of namespace iutest
71 
72 #if !IUTEST_HAS_LIB
73 # include "../impl/iutest_junit_xml_generator.ipp" // IWYU pragma: export
74 #endif
75 
76 #endif // INCG_IRIS_IUTEST_JUNIT_XML_GENERATOR_HPP_C6AD11BD_BDA4_45F3_A736_53B09DD6A7BD_
xml出力イベントリスナー
Definition: iutest_default_xml_generator.hpp:28
xml出力イベントリスナー
Definition: iutest_junit_xml_generator.hpp:34
JunitXmlGeneratorListener(const ::std::string &path)
コンストラクタ
Definition: iutest_junit_xml_generator.hpp:40
::std::string get_report_junit_xml_filepath()
junit xml 出力パスを取得
#define IUTEST_CXX_OVERRIDE
override definition
Definition: iutest_compiler.hpp:747
iris unit test xml 出力イベントリスナー ファイル
iutest root namespace
Definition: iutest_charcode.hpp:33