K |
K |
| (Der Versionsvergleich bezieht 11 dazwischenliegende Versionen mit ein.) |
| Zeile 1: |
Zeile 1: |
| - | Zum Erstellen von Tests werden Klassen verwendet. Alle öffentlichen Methoden einer Testklasse werden von SimplyVBUnit als Test-Methode verwendet.
| + | Diese Seite ist umgezogen: [http://de.accunit.access-codelib.net/Tests_erstellen Tests erstellen] |
| - | | + | |
| - | ==== Einfachste Form einer Testklasse ====
| + | |
| - | <source lang="vb">
| + | |
| - | Option Explicit
| + | |
| - | | + | |
| - | Public Sub SimpleTestProc_Success()
| + | |
| - | | + | |
| - | Assert.That 1, Iz.EqualTo(1)
| + | |
| - | | + | |
| - | End Sub
| + | |
| - | | + | |
| - | Public Sub SimpleTestProc_Failure()
| + | |
| - | | + | |
| - | Assert.That 1, Iz.EqualTo(0)
| + | |
| - | | + | |
| - | End Sub
| + | |
| - | </source>
| + | |
| - | | + | |
| - | Falls dieser Test vom AccUnit-Add-In automatisch aus den Klassen des VB-Projektes erkannt werden soll, ist noch folgende Zeile im Kopfbereich der Klasse einzufügen:
| + | |
| - | <source lang="vb">
| + | |
| - | '<AccUnit><testclass>true</testclass></AccUnit>
| + | |
| - | </source>
| + | |
| - | | + | |
| - | ==== Row Tests ====
| + | |
| - | Bei ''Row Tests'' wird eine Testmethode mit unterschiedlichen Parameterwerten ausgeführt.
| + | |
| - | Damit SimplyVBUnit diese Tests erkennt, muss ''SimplyVBUnit.ITestCaseData'' als Schnittstelle verwendet werden.
| + | |
| - | <source lang="vb">
| + | |
| - | Implements SimplyVBUnit.ITestCaseData
| + | |
| - | | + | |
| - | Private Sub ITestCaseData_GetTestData(ByVal test As SimplyVBUnit.TestDataBuilder)
| + | |
| - | ' hier erfolgt die Übergabe der Test-Werte
| + | |
| - | End Sub
| + | |
| - | </source>
| + | |
| - | Um die Übergabe der Testwerte etwas übersichtlicher zu gestalten, kann noch zusätzlich AccUnit_Integration.ITestManagerBridge implementiert werden.
| + | |
| - | Damit wird es möglich, die Testwerte als Kommentarzeile oberhalb der jeweiligen Testmethoden zu schreiben.
| + | |
| - | <source lang="vb">
| + | |
| - | Implements AccUnit_Integration.ITestManagerBridge
| + | |
| - | Implements SimplyVBUnit.ITestCaseData
| + | |
| - | | + | |
| - | Private TestManager As AccUnit_Integration.TestManager
| + | |
| - | | + | |
| - | Private Sub ITestManagerBridge_InitTestManager(ByVal NewTestManager As AccUnit_Integration.ITestManagerComInterface)
| + | |
| - | Set TestManager = NewTestManager
| + | |
| - | End Sub
| + | |
| - | | + | |
| - | Private Sub ITestCaseData_GetTestData(ByVal test As SimplyVBUnit.TestDataBuilder)
| + | |
| - | TestManager.GetTestData test
| + | |
| - | End Sub
| + | |
| - | | + | |
| - | 'TestManager.Row("a", "b", "ab")
| + | |
| - | 'TestManager.Row("abc", "def", "abcdef")
| + | |
| - | Public Sub RowTest_Sub_Strings(ByVal x As String, ByVal y As String, ByVal expected As String)
| + | |
| - | | + | |
| - | Dim actual As String
| + | |
| - | actual = x + y
| + | |
| - | | + | |
| - | Assert.That actual, Iz.EqualTo(expected)
| + | |
| - | | + | |
| - | End Sub
| + | |
| - | </source>
| + | |
| - | Die Dummy-Methode ''Row'' ermöglicht die Nutzung von IntelliSense, wenn die Code-Zeile erst nach der Fertigstellung auskommentiert wird.
| + | |
| - | | + | |
| - | Als weitere Variante kann statt ''TestManager.Row'' der Prozedurname verwendet werden.
| + | |
| - | <source lang="vb">
| + | |
| - | 'RowTest_Sub_Strings("a", "b", "ab")
| + | |
| - | 'RowTest_Sub_Strings("abc", "def", "abcdef")
| + | |
| - | Public Sub RowTest_Sub_Strings(ByVal x As String, ByVal y As String, ByVal expected As String)
| + | |
| - | </source>
| + | |