[詳解]
15 #ifndef INCG_IRIS_IUTEST_CORE_HPP_33560431_783B_4AE7_8FC8_6E78355CAF87_
16 #define INCG_IRIS_IUTEST_CORE_HPP_33560431_783B_4AE7_8FC8_6E78355CAF87_
32 class UnitTest :
public UnitTestImpl
55 unsigned int random_seed()
const {
return TestEnv::current_random_seed(); }
129 #if IUTEST_HAS_SEH && IUTEST_HAS_EXCEPTIONS
143 void TestProgramStart();
148 void SetUpTestIteration();
153 void EnvironmentSetUp();
158 void EnvironmentTearDown();
163 void TestProgramEnd();
169 instance().TestProgramEnd();
174 : m_repeat_counter(0)
175 , m_init_iutest_count(0)
176 , m_test_started(false)
177 , m_start_timestamp(0)
180 TestEnv::SetGlobalTestPartResultReporter(&m_default_test_part_result_reporter);
182 TestEnv::LoadEnvironmentVariable();
184 #if defined(_MSC_VER) && _MSC_VER < 1300
189 TestEnv::ReleaseGlobalTestEnvironment();
190 TestEnv::SetGlobalTestPartResultReporter(NULL);
197 #if IUTEST_HAS_PARAM_TEST
202 return m_param_testcase_holder;
206 detail::ParamTestCaseHolder m_param_testcase_holder;
210 friend class UnitTestSource;
212 int m_repeat_counter;
213 int m_init_iutest_count;
216 detail::DefaultGlobalTestPartResultReporter m_default_test_part_result_reporter;
229 template<
class Tester>
234 TestInstance(
const char* testcase,
const char* name,
TestTypeId id
236 : m_mediator(AddTestCase(testcase, id, setup, teardown))
237 , m_info(&m_mediator, name, &m_factory)
239 UnitTest::instance().AddTestInfo(m_mediator.ptr(), &m_info);
242 TestInstance(const ::std::string& testcase,
const char* name,
TestTypeId id
244 : m_mediator(AddTestCase(testcase, id, setup, teardown))
245 , m_info(&m_mediator, name, &m_factory)
247 UnitTest::instance().AddTestInfo(m_mediator.ptr(), &m_info);
250 TestInstance(
const char* testcase,
const char* name,
const char* value_params,
TestTypeId id
252 : m_mediator(AddTestCase(testcase, id, setup, teardown))
253 , m_info(&m_mediator, name, &m_factory)
255 m_info.set_value_param(value_params);
256 UnitTest::instance().AddTestInfo(m_mediator.ptr(), &m_info);
259 TestInstance(const ::std::string& testcase,
const char* name,
const char* value_params,
TestTypeId id
261 : m_mediator(AddTestCase(testcase, id, setup, teardown))
262 , m_info(&m_mediator, name, &m_factory)
264 m_info.set_value_param(value_params);
265 UnitTest::instance().AddTestInfo(m_mediator.ptr(), &m_info);
271 #if !defined(IUTEST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)
272 return UnitTest::instance().AddTestCase<TestCase>(testcase, id, setup, teardown);
274 return UnitTest::instance().AddTestCase(testcase,
id, setup, teardown, detail::explicit_type<TestCase>());
279 #if !defined(IUTEST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)
280 return UnitTest::instance().AddTestCase<TestCase>(testcase, id, setup, teardown);
282 return UnitTest::instance().AddTestCase(testcase,
id, setup, teardown, detail::explicit_type<TestCase>());
287 TestCaseMediator m_mediator;
289 iuFactory<Tester> m_factory;
296 # include "impl/iutest_core.ipp"
299 #endif // INCG_IRIS_IUTEST_CORE_HPP_33560431_783B_4AE7_8FC8_6E78355CAF87_
int test_case_to_run_count() const
テスト結果を示すクラス
Definition: iutest_result.hpp:213
static UnitTest * GetInstance()
UnitTest インスタンスの取得
Definition: iutest_core.hpp:41
const TestResult * ad_hoc_testresult() const IUTEST_CXX_NOEXCEPT_SPEC
テスト実行中じゃないときのリザルトの取得
Definition: iutest_core.hpp:101
int reportable_disabled_test_count() const
int failed_test_count() const
テスト情報クラス
Definition: iutest_info.hpp:32
const TestCase * current_test_case() const
テスト中の TestCase の取得
Definition: iutest_core.hpp:47
const TestResult * ad_hoc_test_result() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_core.hpp:104
int successful_test_case_count() const
int reportable_test_count() const
#define IUTEST_CXX_NOEXCEPT_SPEC
noexcept specification definition
Definition: iutest_compiler.hpp:734
iris unit test TestPartResult リポーター ファイル
const TestInfo * current_test_info() const
テスト中の TestInfo の取得
Definition: iutest_core.hpp:53
iris unit test ファイルクラス ファイル
iutest root namespace
Definition: iutest_charcode.hpp:31
テスト全体の管理者
Definition: iutest_core.hpp:33
int skip_test_count() const
int total_test_case_count() const
Definition: iutest_core.hpp:89
static const TestInfo * GetCurrentTestInfo()
実行中の TestInfo の取得
Definition: iutest_body.hpp:67
internal::TypeId TestTypeId
テスト識別型
Definition: iutest_defs.hpp:440
int successful_test_count() const
bool Failed() const
Definition: iutest_core.hpp:118
int disabled_test_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_core.hpp:74
#define IUTEST_PP_DISALLOW_COPY_AND_ASSIGN(TypeName)
コピー禁止定義
Definition: iutest_pp.hpp:25
const TestCase * GetTestCase(int index) const
Definition: iutest_core.hpp:113
int reportable_skip_test_count() const
unsigned int random_seed() const
Definition: iutest_core.hpp:56
detail::type_least_t< 8 >::UInt TimeInMillisec
ミリ秒単位を扱う型
Definition: iutest_defs.hpp:445
void(* TearDownMethod)()
TearDown 関数型
Definition: iutest_defs.hpp:443
int failed_test_case_count() const
TimeInMillisec elapsed_time() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_core.hpp:107
void(* SetUpMethod)()
SetUp 関数型
Definition: iutest_defs.hpp:442
int repeat_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_core.hpp:62
TimeInMillisec start_timestamp() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_core.hpp:110
iris unit test parameter 定義 ファイル
イベントリスナーの管理クラス
Definition: iutest_listener.hpp:158
int total_test_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_core.hpp:66
int test_to_run_count() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_core.hpp:70
TestEventListeners & listeners() const
Definition: iutest_core.hpp:121
テストケース
Definition: iutest_case.hpp:31
int reportable_test_run_skipped_count() const
int repeat_counter() const IUTEST_CXX_NOEXCEPT_SPEC
Definition: iutest_core.hpp:59
int test_run_skipped_count() const