Egységtesztek

Egy tesztfájl létrehozása
Előfeltételek a teszteléshez
Tesztelés
Egységteszt API
True()
False()
Is()
IsNot()
IsDeeply()
IsNotDeeply()

Az OTRS egységteszteket biztosít az alapmodulokhoz.

Egy tesztfájl létrehozása

A tesztfájlok .t fájlokban vannak tárolva a /scripts/test/*.t helyen. Például a /scripts/test/Calendar.t fájl a naptár modulhoz van.

Egy tesztfájl a tesztelendő függvény függvényhívásaiból és a visszatérési érték elemzéséből áll. Példa (/scripts/test/Calendar.t):

# --
# Calendar.t - Calendar
# Copyright (C) 2001-2018 OTRS AG, https://otrs.com/
# --
# This software comes with ABSOLUTELY NO WARRANTY. For details, see
# the enclosed file COPYING for license information (GPL). If you
# did not receive this file, see https://www.gnu.org/licenses/gpl-3.0.txt.
# --

use strict;
use warnings;
use utf8;

use vars qw($Self);

use Kernel::System::CalendarEvent;

my $EventObject = $Kernel::OM->Get('Kernel::System::CalendarEvent');


my $EventID = $EventObject->EventAdd(
    Title => 'Some Test',
    StartTime => '1977-10-27 20:15',
    EndTime => '1977-10-27 21:00',
    State => 'public',
    UserIDs => [1],
);

$Self->True(
    $EventID,
    'EventAdd()',
);

[..]
        

Előfeltételek a teszteléshez

Hogy képes legyen lefuttatni az egységteszteket, arra van szüksége, hogy az összes választható Perl-modul telepítve legyen, kivéve azokat, amelyek az Ön által használt adatbázis háttérprogramoktól eltérőkhöz valók. Futtassa a bin/otrs.CheckModules.pl parancsfájlt a modultelepítés ellenőrzéséhez.

Szüksége van egy teljes képzésű tartományneven (FQDN) futó OTRS webes előtétprogram egy példányára, amely az OTRS helyi Config.pm fájljában be van állítva. Ennek az OTRS példánynak ugyanazt az adatbázist kell használnia, amelyek az egységtesztekhez vannak beállítva.

Tesztelés

A tesztek ellenőrzéséhez egyszerűen használja a bin/otrs.Console.pl Dev::UnitTest::Run --test Calendar parancsot a /scripts/test/Calendar.t fájl használatához.

shell:/opt/otrs> bin/otrs.Console.pl Dev::UnitTest::Run --test Calendar
+-------------------------------------------------------------------+
/opt/otrs/scripts/test/Calendar.t:
+-------------------------------------------------------------------+
ok 1 - EventAdd()
=====================================================================
Product:   OTRS 5.0.x git
Test Time: 0 s
Time:      2010-04-02 12:58:37
Host:      yourhost.example.com
Perl:      5.8.9
OS:        linux
TestOk:    1
TestNotOk: 0
=====================================================================
shell:/opt/otrs>
        

Egységteszt API

OTRS provides a small and simple API for unit testing that was used in the previous example. Here we'll list the most important functions, please also see the online API reference of Kernel::System::UnitTest .

True()

Ez a függvény azt teszteli, hogy a megadott skalár érték igaz érték-e a Perlben.

$Self->True(
    $EventID,
    'EventAdd()',
);
                

False()

Ez a függvény azt teszteli, hogy a megadott skalár érték hamis érték-e a Perlben.

$Self->False(
    $EventID,
    'EventAdd()',
);
                

Is()

Ez a függvény azt teszteli, hogy a megadott skalár változók egyenlők-e.

$Self->Is(
    $A,
    $B,
    'Tesztnév',
);
                

IsNot()

Ez a függvény azt teszteli, hogy a megadott skalár változók nem egyenlők-e.

$Self->IsNot(
    $A,
    $B,
    'Tesztnév',
);
                

IsDeeply()

Ez a függvény összetett adatszerkezeteket hasonlít össze az egyenlőséghez. $A és $B hivatkozás kell legyen.

$Self->IsDeeply(
    $A,
    $B,
    'Tesztnév',
);
                

IsNotDeeply()

Ez a függvény összetett adatszerkezeteket hasonlít össze a nem egyenlőséghez. $A és $B hivatkozás kell legyen.

$Self->IsNotDeeply(
    $A,
    $B,
    'Tesztnév',
);