ບໍລິການ SFUnitTests.UnitTest

ບໍລິການ UnitTest ມີໂຄງສ້າງສຳລັບການທົດສອບໜ່ວຍຍ່ອຍແບບອັດຕະໂນມັດໂດຍໃຊ້ພາສາ Basic, ເຊິ່ງລວມມີຄວາມສາມາດໃນການ:

ໄອຄອນ ບັນທຶກ

ທັງການທົດສອບໜ່ວຍຍ່ອຍ ແລະ ໂຄ້ດທີ່ຈະຖືກທົດສອບຕ້ອງຂຽນດ້ວຍພາສາ Basic. ໂຄ້ດທີ່ຖືກທົດສອບອາດຈະຮຽກໃຊ້ຟັງຊັນທີ່ຂຽນດ້ວຍພາສາອື່ນກໍໄດ້.


ໄອຄອນ ຄຳເຕືອນ

ບໍລິການ UnitTest ບໍ່ມີໃຫ້ໃຊ້ສຳລັບສະຄຣິບ Python.


ຄຳນິຍາມ

ກໍລະນີທົດສອບ

ກໍລະນີທົດສອບແມ່ນໜ່ວຍທົດສອບແຕ່ລະອັນ. ມັນຈະກວດສອບການຕອບສະໜອງສະເພາະຕໍ່ກັບຊຸດຂອງຂໍ້ມູນນຳເຂົ້າໃດໜຶ່ງ.

ໃນບໍລິການ UnitTest, ກໍລະນີທົດສອບຈະຖືກສະແດງໂດຍ Basic Sub ດຽວ ເຊິ່ງຊື່ຂອງມັນຂຶ້ນຕົ້ນດ້ວຍຄຳນຳໜ້າທີ່ກຳນົດໄວ້ (ຄ່າເລີ່ມຕົ້ນແມ່ນ "Test_").

ກໍລະນີທົດສອບຈະຖືວ່າຫຼົ້ມເຫຼວ ຖ້າໜຶ່ງໃນວິທີການ AssertX ສົ່ງຄືນຄ່າ False.

ຊຸດການທົດສອບ

ຊຸດການທົດສອບແມ່ນການລວບລວມກໍລະນີທົດສອບທີ່ຄວນຈະເຮັດວຽກຮ່ວມກັນ.

ທຸກໆກໍລະນີທົດສອບຂອງຊຸດການທົດສອບຈະຖືກເກັບໄວ້ໃນໂມດູນ Basic ດຽວ.

ຊຸດການທົດສອບອາດຈະໃຊ້ວິທີການ SetUp ແລະ TearDown ເພື່ອກຽມຄວາມພ້ອມສຳລັບກໍລະນີທົດສອບໃນໂມດູນຂອງມັນ.

ການທົດສອບໜ່ວຍຍ່ອຍ

ການທົດສອບໜ່ວຍຍ່ອຍແບບເຕັມຮູບແບບປະກອບດ້ວຍຊຸດການທົດສອບຫຼາຍອັນໃນໄລບຣາຣີ Basic ດຽວກັນ.

ການຮຽກໃຊ້ບໍລິການ

ກ່ອນທີ່ຈະໃຊ້ບໍລິການ UnitTest, ໄລບຣາຣີ ScriptForge ຕ້ອງຖືກໂຫຼດ ຫຼື ນຳເຂົ້າກ່ອນ:

ໄອຄອນ ບັນທຶກ

• ມາໂຄຣ Basic ຕ້ອງມີການໂຫຼດຄັງສຳນວນ ScriptForge ໂດຍໃຊ້ຄຳສັ່ງດັ່ງນີ້:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• ສະຄຣິບ Python ຕ້ອງມີການນຳເຂົ້າຈາກໂມດູນ scriptforge:
from scriptforge import CreateScriptService


ໂໝດແບບງ່າຍ

ຮຽກໃຊ້ບໍລິການໃນ ໂໝດແບບງ່າຍ ເພື່ອໃຊ້ຟັງຊັນ AssertX ໂດຍບໍ່ຕ້ອງສ້າງລຳດັບຂັ້ນຂອງຊຸດການທົດສອບ ແລະ ກໍລະນີທົດສອບແບບເຕັມຮູບແບບ.

ໃນໂໝດແບບງ່າຍ, ບໍລິການຈະຖືກຮຽກໃຊ້ພາຍໃນກໍລະນີທົດສອບ, ດັ່ງທີ່ສະແດງໃນຕົວຢ່າງຂ້າງລຸ່ມນີ້:


    Sub SimpleTest
        On Local Error GoTo CatchError
        Dim myTest As Variant
        myTest = CreateScriptService("UnitTest")
        ' ການທົດສອບຕົວຢ່າງບາງອັນ
        myTest.AssertEqual(1 + 1, 2)
        myTest.AssertEqual(1 - 1, 0)
        MsgBox("ການທົດສອບທັງໝົດຜ່ານ")
        Exit Sub
    CatchError:
        myTest.ReportError("ການທົດສອບຫຼົ້ມເຫຼວ")
    End Sub
  

ໃນຕົວຢ່າງນີ້, ຖ້າການຮຽກໃຊ້ AssertEqual ໃດໜຶ່ງຫຼົ້ມເຫຼວ, ຕົວແປພາສາຈະໄປທີ່ປ້າຍກຳກັບ CatchError ແລະ ລາຍງານຂໍ້ຜິດພາດໂດຍການຮຽກໃຊ້ວິທີການ ReportError.

ໂໝດເຕັມຮູບແບບ

ເມື່ອຮຽກໃຊ້ໃນ ໂໝດເຕັມຮູບແບບ, ການສ້າງບໍລິການຈະຢູ່ນອກໂຄ້ດທົດສອບ ແລະ ທຸກການທົດສອບຈະຖືກຈັດເປັນກໍລະນີທົດສອບ ແລະ ຊຸດການທົດສອບພາຍໃນໄລບຣາຣີດຽວກັນ.

ຕົວຢ່າງຕໍ່ໄປນີ້ຈະສ້າງອິນສະແຕນຊ໌ UnitTest ທີ່ການທົດສອບຂອງມັນຕັ້ງຢູ່ໃນເອກະສານປັດຈຸບັນ (ThisComponent) ໃນໄລບຣາຣີ "Tests".


    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
    Dim myUnitTest As Variant
    myUnitTest = CreateScriptService("UnitTest", ThisComponent, "Tests")
  

ຕົວຢ່າງແບບງ່າຍທີ່ສຸດໃນໂໝດເຕັມຮູບແບບ

ສົມມຸດວ່າໄຟລ໌ ODS ມີໂມດູນຊື່ "MathUtils" ໃນໄລບຣາຣີ "Standard" ທີ່ມີໂຄ້ດດັ່ງນີ້:


    ' ໂຄ້ດໃນໂມດູນ Standard.MathUtils
    Function Sum(a, b) As Double
        Sum = a + b
    End Function
    
    Function Multiply(a, b) As Double
        Multiply = a * b
    End Function
  

ເພື່ອສ້າງຊຸດການທົດສອບແບບເຕັມຮູບແບບ, ສົມມຸດວ່າມີໄລບຣາຣີໃໝ່ຊື່ "Tests" ຖືກສ້າງຂຶ້ນໃນໄຟລ໌ ພ້ອມດ້ວຍໂມດູນ "AllTests" ທີ່ມີໂຄ້ດດັ່ງລຸ່ມນີ້:


    ' ໂຄ້ດໃນໂມດູນ Tests.AllTests
    Sub Main()
        GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
        Dim test As Variant
        test = CreateScriptService("UnitTest", ThisComponent, "Tests")
        test.RunTest("AllTests")
        test.Dispose()
    End Sub
    
    Sub Setup(test)
        ' ໂຄ້ດການກຽມພ້ອມທີ່ເຮັດວຽກກ່ອນກໍລະນີທົດສອບທຳອິດ
        Dim exc As Variant
        exc = CreateScriptService("Exception")
        exc.Console(Modal := False)
    End Sub
    
    Sub TearDown(test)
        ' ໂຄ້ດການລຶບລ້າງ (ຖ້າມີ) ທີ່ຖືກຮຽກໃຊ້ຫຼັງຈາກກໍລະນີທົດສອບສຸດທ້າຍ
    End Sub
    
    Sub Test_Sum(test)
        On Local Error GoTo CatchError
        test.AssertEqual(Sum(1, 1), 2, "ບວກຈຳນວນຖ້ວນບວກສອງຄ່າ")
        test.AssertEqual(Sum(-10, 20), 10, "ບວກຈຳນວນຖ້ວນລົບ ແລະ ຈຳນວນຖ້ວນບວກ")
        test.AssertEqual(Sum(1.5, 1), 2.5, "ບວກຄ່າເລກທົດສະນິຍົມ ແລະ ຈຳນວນຖ້ວນ")
        Exit Sub
    CatchError:
        test.ReportError("ວິທີການ Sum ມີບັນຫາ")
    End Sub
    
    Sub Test_Multiply(test)
        On Local Error GoTo CatchError
        test.AssertEqual(Multiply(2, 2), 4, "ຄູນຈຳນວນຖ້ວນບວກສອງຄ່າ")
        test.AssertEqual(Multiply(-4, 2), -8, "ຄູນຈຳນວນຖ້ວນລົບ ແລະ ຈຳນວນຖ້ວນບວກ")
        test.AssertEqual(Multiply(1.5, 3), 4.5, "ຄູນຄ່າເລກທົດສະນິຍົມ ແລະ ຈຳນວນຖ້ວນ")
        Exit Sub
    CatchError:
        test.ReportError("ວິທີການ Multiply ມີບັນຫາ")
    End Sub
  

ຊຸດການທົດສອບຂ້າງເທິງປະກອບດ້ວຍສອງກໍລະນີທົດສອບຄື Test_Sum ແລະ Test_Multiply. ເພື່ອທົດສອບທັງໝົດ ພຽງແຕ່ເຮັດວຽກວິທີການ Main ຈາກໂມດູນ "AllTests".

Console ຈາກບໍລິການ Exception ຈະຖືກໃຊ້ເປັນບ່ອນສະແດງຜົນເລີ່ມຕົ້ນເພື່ອພິມຜົນການທົດສອບ. ຫຼັງຈາກເຮັດວຽກຕົວຢ່າງຂ້າງເທິງ, ຜົນການສະແດງຕໍ່ໄປນີ້ຈະປາກົດໃນ console:


    ' RUNTEST ENTER testsuite='Tests.AllTests', pattern='Test_*'
    '   SETUP Tests.AllTests.Setup() ENTER
    '   SETUP Tests.AllTests.Setup() EXIT
    '   TESTCASE Tests.AllTests.Test_Multiply() ENTER
    '   TESTCASE Tests.AllTests.Test_Multiply() EXIT (0,017 sec)
    '   TESTCASE Tests.AllTests.Test_Sum() ENTER
    '   TESTCASE Tests.AllTests.Test_Sum() EXIT (0,016 sec)
    '   TEARDOWN Tests.AllTests.TearDown() ENTER
    '   TEARDOWN Tests.AllTests.TearDown() EXIT
    ' RUNTEST EXIT testsuite='Tests.AllTests' (0,223 sec)
  

ຖ້າວິທີການ AssertEqual ໃດໜຶ່ງຫຼົ້ມເຫຼວໃນລະຫວ່າງການທົດສອບ, ຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດຈະຖືກເພີ່ມເຂົ້າໃນ console.

ຄຸນສົມບັດ

ຊື່

ອ່ານຢ່າງດຽວ

ປະເພດ

ຄຳອະທິບາຍ

LongMessage

ບໍ່

Boolean

ເມື່ອຕັ້ງເປັນ True (ຄ່າເລີ່ມຕົ້ນ), console ຈະສະແດງຂໍ້ຄວາມມາດຕະຖານຕໍ່ທ້າຍຂໍ້ຄວາມທີ່ຜູ້ທົດສອບລະບຸ. ເມື່ອເປັນ False, ຈະສະແດງສະເພາະຂໍ້ຄວາມທີ່ຜູ້ທົດສອບກຳນົດເທົ່ານັ້ນ.

ReturnCode

ແມ່ນ

Integer

ຄ່າທີ່ສົ່ງຄືນໂດຍ RunTest ຫຼັງຈາກການທົດສອບໜ່ວຍຍ່ອຍສຳເລັດ. ລຸ່ມນີ້ແມ່ນລາຍການຄ່າທີ່ເປັນໄປໄດ້:

0 - ການທົດສອບສຳເລັດໂດຍບໍ່ມີຂໍ້ຜິດພາດ ຫຼື ການທົດສອບຍັງບໍ່ໄດ້ເລີ່ມ
1 - ການຢືນຢັນ (assertion) ພາຍໃນກໍລະນີທົດສອບສົ່ງຄືນຄ່າ False
2 - ມີການໃຊ້ SkipTest ໂດຍວິທີການ Setup ຫຼື ໂດຍກໍລະນີທົດສອບໃດໜຶ່ງ.
3 - ການທົດສອບສິ້ນສຸດແບບຜິດປົກກະຕິ

Verbose

ບໍ່

Boolean

ເມື່ອຕັ້ງເປັນ True, ທຸກການຢືນຢັນຈະຖືກລາຍງານໃນ console (ບໍ່ວ່າຈະຜ່ານ ຫຼື ບໍ່). ເມື່ອເປັນ False (ຄ່າເລີ່ມຕົ້ນ), ຈະລາຍງານສະເພາະການຢືນຢັນທີ່ຫຼົ້ມເຫຼວເທົ່ານັ້ນ.

WhenAssertionFails

ບໍ່

Integer

ກຳນົດສິ່ງທີ່ຈະເຮັດເມື່ອການຢືນຢັນຫຼົ້ມເຫຼວ. ລຸ່ມນີ້ແມ່ນລາຍການຄ່າທີ່ເປັນໄປໄດ້:

0 - ລະເວັ້ນຄວາມຫຼົ້ມເຫຼວ ແລະ ເຮັດວຽກການທົດສອບຕໍ່ໄປ
1 - ວິທີການ TearDown ໃນໂມດູນຈະຖືກເຮັດວຽກໃນຊຸດການທົດສອບປັດຈຸບັນ ແລະ ເລີ່ມຊຸດຕໍ່ໄປ (ຄ່າເລີ່ມຕົ້ນໃນໂໝດເຕັມຮູບແບບ).
2 - ຢຸດທັນທີ (ຄ່າເລີ່ມຕົ້ນໃນໂໝດແບບງ່າຍ)


ລາຍການວິທີການໃນບໍລິການ UnitTest

AssertAlmostEqual
AssertEqual
AssertFalse
AssertGreater
AssertGreaterEqual
AssertIn
AssertIsInstance
AssertIsNothing
AssertLike

AssertNotRegex
AssertIsNull
AssertLess
AssertLessEqual
AssertNotAlmostEqual
AssertNotEqual
AssertNotIn
AssertNotInstance
AssertNotLike

AssertNotNothing
AssertNotNull
AssertRegex
AssertTrue
Fail
Log
ReportError
RunTest
SkipTest


ອາຄິວເມນຂອງວິທີການ AssertX

ທຸກການຢືນຢັນຈະທົດສອບໜຶ່ງ ຫຼື ສອງນິພົດ, ເຊິ່ງໃນໜ້າຊ່ວຍເຫຼືອນີ້ຈະເອີ້ນວ່າ A ແລະ B. ພວກມັນຈະເປັນອາຄິວເມນທຳອິດ ຫຼື ສອງອັນທຳອິດສະເໝີໃນວິທີການ AssertX.

ທຸກວິທີການ AssertX ຮັບອາຄິວເມນ message ເພື່ອລະບຸຂໍ້ຄວາມທີ່ກຳນົດເອງທີ່ຈະລາຍງານໃນ console ກ່ຽວກັບການຢືນຢັນນັ້ນ. ຄ່າເລີ່ມຕົ້ນແມ່ນຂໍ້ຄວາມຫວ່າງເປົ່າ. ອາຄິວເມນນີ້ຈະຢູ່ໃນຕຳແໜ່ງສຸດທ້າຍຂອງການຢືນຢັນສະເໝີ.

ບາງວິທີການ AssertX ຍັງຮັບອາຄິວເມນເພີ່ມເຕີມ, ດັ່ງທີ່ອະທິບາຍໄວ້ໃນຮູບແບບໄວຍາກອນຂ້າງລຸ່ມນີ້.

AssertAlmostEqual

ສົ່ງຄືນ True ເມື່ອ A ແລະ B ເປັນຄ່າຕົວເລກ ແລະ ຖືວ່າຢູ່ໃກ້ຄຽງກັນ ໂດຍອີງຕາມຄ່າຄວາມຄາດເຄື່ອນທຽບຖານ (relative tolerance) ທີ່ກຳນົດໃຫ້.

ໄວຍາກອນ:

svc.AssertAlmostEqual(a: any, b: any, tolerance: double = 1E-09, message: str = ""): bool

ການຢືນຢັນນີ້ຈະສົ່ງຄືນ True ຖ້າເປັນໄປຕາມສອງເງື່ອນໄຂລຸ່ມນີ້:

AssertEqual

ສົ່ງຄືນ True ເມື່ອ A ແລະ B ຖືວ່າເທົ່າກັນ.

ໄວຍາກອນ:

svc.AssertEqual(a: any, b: any, message: str = ""): bool

ເມື່ອ A ແລະ B ເປັນຄ່າສະກາລາ (scalars), ຈະສົ່ງຄືນ True ຖ້າ:

ເມື່ອ A ແລະ B ເປັນອາເຣ (arrays), ຈະສົ່ງຄືນ True ຖ້າ:

AssertFalse

ສົ່ງຄືນ True ເມື່ອປະເພດຂອງ A ແມ່ນ Boolean ແລະ ມີຄ່າເປັນ False.

ໄວຍາກອນ:

svc.AssertFalse(a: any, message: str = ""): bool

AssertGreater

ສົ່ງຄືນ True ເມື່ອ A ມີຄ່າຫຼາຍກວ່າ B.

ໄວຍາກອນ:

svc.AssertGreater(a: any, b: any, message: str = ""): bool

ການປຽບທຽບລະຫວ່າງ A ແລະ B ຈະອີງຕາມເງື່ອນໄຂດັ່ງນີ້:

AssertGreaterEqual

ສົ່ງຄືນ True ເມື່ອ A ມີຄ່າຫຼາຍກວ່າ ຫຼື ເທົ່າກັບ B.

ໄວຍາກອນ:

svc.AssertGreaterEqual(a: any, b: any, message: str = ""): bool

ການປຽບທຽບລະຫວ່າງ A ແລະ B ຈະອີງຕາມເງື່ອນໄຂດັ່ງນີ້:

AssertIn

ສົ່ງຄືນ True ເມື່ອພົບ A ໃນ B.

ໄວຍາກອນ:

svc.AssertIn(a: any, b: any, message: str = ""): bool

ການຢືນຢັນນີ້ຈະອີງຕາມເງື່ອນໄຂດັ່ງນີ້:

AssertIsInstance

ສົ່ງຄືນ True ເມື່ອ A ເປັນອິນສະແຕນຊ໌ຂອງປະເພດອັອບເຈັກທີ່ລະບຸ (ລະບຸເປັນຂໍ້ຄວາມທີ່ບັນຈຸຊື່ປະເພດ).

ໄວຍາກອນ:

svc.AssertIsInstance(a: any, objecttype: str, message: str = ""): bool

ນິພົດ A ອາດຈະເປັນໜຶ່ງໃນສິ່ງຕໍ່ໄປນີ້:

AssertIsNothing

ສົ່ງຄືນ True ເມື່ອ A ເປັນອັອບເຈັກທີ່ມີຄ່າເປັນ Nothing.

ໄວຍາກອນ:

svc.AssertIsNothing(a: any, message: str = ""): bool

AssertIsNull

ສົ່ງຄືນ True ເມື່ອ A ມີຄ່າເປັນ Null.

ໄວຍາກອນ:

svc.AssertIsNull(a: any, message: str = ""): bool

AssertLess

ສົ່ງຄືນ True ເມື່ອ A ມີຄ່າໜ້ອຍກວ່າ B.

ໄວຍາກອນ:

svc.AssertLess(a: any, b: any, message: str = ""): bool

ການປຽບທຽບລະຫວ່າງ A ແລະ B ຈະອີງຕາມເງື່ອນໄຂດັ່ງນີ້:

AssertLessEqual

ສົ່ງຄືນ True ເມື່ອ A ມີຄ່າໜ້ອຍກວ່າ ຫຼື ເທົ່າກັບ B.

ໄວຍາກອນ:

svc.AssertLessEqual(a: any, b: any, message: str = ""): bool

ການປຽບທຽບລະຫວ່າງ A ແລະ B ຈະອີງຕາມເງື່ອນໄຂດັ່ງນີ້:

AssertLike

ສົ່ງຄືນ True ຖ້າຂໍ້ຄວາມ A ກົງກັບຮູບແບບທີ່ກຳນົດໃຫ້ເຊິ່ງມີຕົວແທນ (wildcards).

ໄວຍາກອນ:

svc.AssertLike(a: any, pattern: str = "", message: str = ""): bool

ຕົວແທນ (wildcards) ທີ່ຮອງຮັບມີດັ່ງນີ້:

AssertNotAlmostEqual

ສົ່ງຄືນ True ເມື່ອ A ແລະ B ເປັນຄ່າຕົວເລກ ແລະ ຖືວ່າ ບໍ່ ໃກ້ຄຽງກັນ ໂດຍອີງຕາມຄ່າຄວາມຄາດເຄື່ອນທຽບຖານທີ່ກຳນົດໃຫ້.

ໄວຍາກອນ:

svc.AssertNotAlmostEqual(a: any, b: any, tolerance: double = 1E-09, message: str = ""): bool

ການຢືນຢັນນີ້ຈະສົ່ງຄືນ True ຖ້າເປັນໄປຕາມສອງເງື່ອນໄຂລຸ່ມນີ້:

AssertNotEqual

ສົ່ງຄືນ True ເມື່ອ A ແລະ B ຖືວ່າ ບໍ່ ເທົ່າກັນ.

ໄວຍາກອນ:

svc.AssertNotEqual(a: any, b: any, message: str = ""): bool

ວິທີການນີ້ໃຊ້ໄດ້ທັງກັບຄ່າສະກາລາ ແລະ ອາເຣ. ອ່ານຄຳແນະນຳໃນ AssertEqual ສຳລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບຄວາມໝາຍຂອງຄວາມເທົ່າກັນໃນການຢືນຢັນນີ້.

AssertNotIn

ສົ່ງຄືນ True ເມື່ອ ບໍ່ ພົບ A (ຂໍ້ຄວາມ) ໃນ B.

ໄວຍາກອນ:

svc.AssertNotIn(a: any, b: any, message: str = ""): bool

ອ່ານຄຳແນະນຳໃນ AssertIn ສຳລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບເງື່ອນໄຂຂອງວິທີການນີ້.

AssertNotInstance

ສົ່ງຄືນ True ເມື່ອ A ບໍ່ແມ່ນ ອິນສະແຕນຊ໌ຂອງປະເພດອັອບເຈັກທີ່ລະບຸ.

ໄວຍາກອນ:

svc.AssertNotInstance(a: any, objecttype: str, message: str = ""): bool

ອ່ານຄຳແນະນຳໃນ AssertIsInstance ສຳລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບເງື່ອນໄຂຂອງວິທີການນີ້.

AssertNotLike

ສົ່ງຄືນ True ຖ້າຂໍ້ຄວາມ A ບໍ່ກົງ ກັບຮູບແບບທີ່ກຳນົດໃຫ້ເຊິ່ງມີຕົວແທນ (wildcards).

ໄວຍາກອນ:

svc.AssertNotLike(a: any, pattern: str = "", message: str = ""): bool

ອ່ານຄຳແນະນຳໃນ AssertLike ສຳລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບເງື່ອນໄຂຂອງວິທີການນີ້.

AssertNotNothing

ສົ່ງຄືນ True ຍົກເວັ້ນເມື່ອ A ເປັນອັອບເຈັກທີ່ມີຄ່າເປັນ Nothing.

ໄວຍາກອນ:

svc.AssertNotNothing(a: any, message: str = ""): bool

AssertNotNull

ສົ່ງຄືນ True ຍົກເວັ້ນເມື່ອ A ມີຄ່າເປັນ Null.

ໄວຍາກອນ:

svc.AssertNotNull(a: any, message: str = ""): bool

AssertNotRegex

ສົ່ງຄືນ True ເມື່ອ A ບໍ່ແມ່ນ ຂໍ້ຄວາມ ຫຼື ບໍ່ກົງ ກັບ regular expression ທີ່ກຳນົດໃຫ້.

ໄວຍາກອນ:

svc.AssertNotRegex(a: any, regex: str = "", message: str = ""): bool

ການປຽບທຽບແມ່ນລະອຽດຕໍ່ຕົວອັກສອນໃຫຍ່-ນ້ອຍ.

AssertRegex

ສົ່ງຄືນ True ເມື່ອຂໍ້ຄວາມ A ກົງກັບ regular expression ທີ່ກຳນົດໃຫ້.

ໄວຍາກອນ:

svc.AssertRegex(a: any, regex: str = "", message: str = ""): bool

ການປຽບທຽບແມ່ນລະອຽດຕໍ່ຕົວອັກສອນໃຫຍ່-ນ້ອຍ.

AssertTrue

ສົ່ງຄືນ True ເມື່ອນິພົດ A ເປັນ Boolean ແລະ ມີຄ່າເປັນ True.

ໄວຍາກອນ:

svc.AssertTrue(a: any, message: str = ""): bool

Fail

ບັງຄັບໃຫ້ກໍລະນີທົດສອບຫຼົ້ມເຫຼວ.

ໄວຍາກອນ:

svc.Fail(message: str = "")

ສາມາດລະບຸຂໍ້ຄວາມເພື່ອໃຫ້ລາຍງານໃນ console ໄດ້.

Log

ຂຽນ message ທີ່ລະບຸລົງໃນ console.

ໄວຍາກອນ:

svc.Log(message: str = "")

ສາມາດລະບຸຂໍ້ຄວາມເພື່ອໃຫ້ລາຍງານໃນ console ໄດ້.

ReportError

ສະແດງກ່ອງຂໍ້ຄວາມພ້ອມກັບຂໍ້ຄວາມ ແລະ ຄ່າຄຸນສົມບັດປັດຈຸບັນຂອງບໍລິການ Exception.

ວິທີການນີ້ມັກຈະຖືກໃຊ້ໃນສ່ວນການຈັດການຂໍ້ຜິດພາດ (exception handling) ຂອງ Sub ທີ່ບັນຈຸກໍລະນີທົດສອບ, ເຊິ່ງຈະຖືກຮຽກໃຊ້ເມື່ອການຢືນຢັນຫຼົ້ມເຫຼວ ຫຼື ເມື່ອມີການຮຽກໃຊ້ວິທີການ Fail.

ໄວຍາກອນ:

svc.ReportError(message: str = "")

ຂຶ້ນຢູ່ກັບຄ່າຂອງຄຸນສົມບັດ WhenAssertionFails, ການເຮັດວຽກການທົດສອບອາດຈະດຳເນີນຕໍ່ໄປ ຫຼື ຖືກຂັດຈັງຫວະ.

ເມື່ອຂຽນກໍລະນີທົດສອບ, ແນະນຳໃຫ້ໃສ່ການຮຽກໃຊ້ວິທີການ ReportError ໄວ້ໃນສ່ວນການຈັດການຂໍ້ຜິດພາດຂອງ Sub.

ຖ້າຄຸນສົມບັດ LongMessage ເປັນ True, message ທີ່ລະບຸຈະຖືກຕາມດ້ວຍຄຳອະທິບາຍຂໍ້ຜິດພາດມາດຕະຖານ. ຖ້າບໍ່ດັ່ງນັ້ນ ຈະສະແດງສະເພາະ message ເທົ່ານັ້ນ.

RunTest

ເຮັດວຽກຊຸດການທົດສອບທັງໝົດທີ່ຢູ່ໃນໂມດູນທີ່ລະບຸ. ແຕ່ລະກໍລະນີທົດສອບຈະເຮັດວຽກແຍກເປັນອິດສະຫຼະຈາກກັນ.

ການເຮັດວຽກຊຸດການທົດສອບປະກອບດ້ວຍ:

  1. ເຮັດວຽກວິທີການ Setup (ຖ້າມີ) ຢູ່ໃນໂມດູນ.

  2. ເຮັດວຽກແຕ່ລະກໍລະນີທົດສອບໜຶ່ງຄັ້ງ, ໂດຍບໍ່ມີລຳດັບສະເພາະ.

  3. ເຮັດວຽກວິທີການ TearDown (ຖ້າມີ) ຢູ່ໃນໂມດູນ.

ໄວຍາກອນ:

svc.RunTest(testsuite: str, testcasepattern: str = "", message: str = ""): int

ອາຄິວເມນ testcasepattern ລະບຸຮູບແບບທີ່ປະກອບດ້ວຍຕົວແທນ "?" ແລະ "*" ເພື່ອເລືອກວ່າຈະໃຫ້ກໍລະນີທົດສອບໃດເຮັດວຽກ. ການປຽບທຽບນີ້ແມ່ນບໍ່ລະອຽດຕໍ່ຕົວອັກສອນໃຫຍ່-ນ້ອຍ.

ຖ້າມີການລະບຸ message, ມັນຈະຖືກຂຽນລົງໃນ console ເມື່ອການທົດສອບເລີ່ມຕົ້ນ.

SkipTest

ຂັດຈັງຫວະການເຮັດວຽກຂອງຊຸດການທົດສອບໂດຍບໍ່ມີການຮຽກໃຊ້ວິທີການ TearDown.

ການຂ້າມການທົດສອບມັກຈະມີຄວາມໝາຍໃນລະຫວ່າງວິທີການ Setup ເມື່ອເງື່ອນໄຂໃນການທົດສອບບໍ່ຄົບຖ້ວນ.

ວິທີການ Setup ຄວນຈະອອກຈາກ Sub ທັນທີຫຼັງຈາກທີ່ມີການຮຽກໃຊ້ SkipTest.

ຖ້າ SkipTest ຖືກຮຽກໃຊ້ຈາກພາຍໃນກໍລະນີທົດສອບ, ການເຮັດວຽກຂອງຊຸດການທົດສອບຈະຖືກຂັດຈັງຫວະ ແລະ ກໍລະນີທົດສອບທີ່ເຫຼືອຈະບໍ່ຖືກເຮັດວຽກ. ຄວນຈື່ໄວ້ວ່າລຳດັບການເຮັດວຽກຂອງກໍລະນີທົດສອບພາຍໃນຊຸດການທົດສອບແມ່ນເປັນແບບສຸ່ມ.

ໄວຍາກອນ:

svc.SkipTest(message: str = "")

ຖ້າມີການລະບຸ message, ມັນຈະຖືກຂຽນລົງໃນ console.

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!