13#ifndef ARCANE_UNITTESTADAPTER_H
14#define ARCANE_UNITTESTADAPTER_H
18#include "arcane/IUnitTest.h"
19#include "arcane/ArcaneException.h"
20#include "arcane/Assertion.h"
21#include "arcane/XmlNode.h"
47 : m_service(service) {}
55 void addTestFunction(
FuncPtr f, String name, String method_name)
57 TestFuncInfo info(f, name, method_name);
74 report.setAttrValue(
"name", m_service->serviceInfo()->localName());
85 xunittest.setAttrValue(
"result",
"success");
86 m_service->info() <<
"[OK ] " <<
func_info.m_name;
89 xunittest.setAttrValue(
"result",
"failure");
93 xexception.setAttrValue(
"line", Arcane::String::fromNumber(e.
line()));
95 m_service->info() <<
"[ECHEC] " <<
func_info.m_name <<
" (line " << e.
line() <<
" in " << e.
where() <<
")";
96 m_service->info() <<
" " << e.
message();
Exception dans une assertion.
const String & where() const
Localisation de l'exception.
const char * file() const
Fichier de l'exception.
const String & message() const
Message de l'exception.
int line() const
Ligne de l'exception.
Classe de base pour assertions dans les tests unitaires.
Interface d'un service de test unitaire fournissant un rapport de test sous forme d'un noeud XML.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Adapte un service qui déclare des tests a l'interface IUnitTest.
void initializeTest() override
Implémentation de l'interface IUnitTest.
bool executeTest(XmlNode &report) override
Implémentation de l'interface IUnitTest.
void finalizeTest() override
Implémentation de l'interface IUnitTest.
UniqueArray< TestFuncInfo > m_test_functions
Service associé.
FuncPtr m_set_up_function
Pointeur vers la méthode d'initialisation de chaque test.
FuncPtr m_tear_down_function
Pointeur vers la méthode de fin de chaque test.
FuncPtr m_class_tear_down_function
Pointeur vers la méthode de fin des tests de la classe.
FuncPtr m_class_set_up_function
Pointeur vers la méthode d'initialisation de la classe.
void(T::* FuncPtr)()
Type du pointeur sur les méthodes de test.
Chaîne de caractères unicode.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-