Thinkwise unit tests aanmaken

De huidige versie van Thinkwise (2020.1) biedt uitstekende mogelijkheden voor het maken van unit tests. Een unit tests is - zoals waarschijnlijk bekend - een methode om een individueel stukje code te testen. Thinkwise leent zich daar goed voor, omdat control procedures bij uitstek te zien zijn als dergelijke stukjes code.

We gaan in dit voorbeeld uit van een eenvoudige default die niets meer doet dan spaties uit een string halen. We gaan voor deze unit test die functie een aantal strings geven om te kijken of de functie wel de juiste aangepaste string retour stuurt. De functie ziet er als volgt uit:


if @cursor_from_col_id = '[field]'
and @[field] is not null
begin
		set @[field] = REPLACE(@[field], ' ', '');
end;
			

Je kunt de unit test ook direct beginnen te schrijven via een tabblad bij deze default, maar voor de volledigheid doen we het hieronder via de officiele weg.

  • Ga naar Quality > Unit tests
  • Klik in de rij met objecten op 'Defaults'
  • Kies de tabel waarop de default wordt toegepast
  • Klik op Form
  • Maak een nieuwe unit test
  • Geef de unit test een passende naam
  • Kies de juiste control procedure
  • Kies voor Opslaan

In essentie heb je nu je unit test. Alleen moet je de unit test gaan voeden met input, zodat je vervolgens de output kunt valideren. In het hierboven genoemde voorbeeld kun je zien dat er 2 velden nodig zijn:

  • cursor_from_col_id
  • de naam van de kolom

Voor beide velden moet je een waarde geven. De waarde die je geeft aan 'cursor_from_col_id' is de naam van de kolom. Dat klinkt wellicht verwarrend, maar een voorbeeld maakt het inzichtelijk. Stel dat je de bovengenoemde default wilt testen op het veld 'voorletters'. In dat geval heeft cursor_from_col_id de waarde 'voorletters'. Dan heb je ook automatisch als tweede veld 'voorletters' met een waarde als 'B.P M'. We gaan het als volgt invullen:

  • Ga naar het tabblad Input
  • Geef de beide velden op
  • Ga nu naar het tabblad Expected output
  • Geef de verwachte waarde op (in ons geval 'B.PM')

Druk nu op de taak 'Execute unit test' om je unit test te draaien!

Let op: de unit test werkt alleen als je een kolom kiest waar de default ook daadwerkelijk op wordt toegepast. Dit is zeer belangrijk. Je kunt de unit test dus niet doen op het veld 'Achternaam' als je de default niet ook op dat veld hebt toegepast.

Over mij

Mijn naam is Marcel van Langen. Ik ben werkzaam als freelancer. Een harde en eerlijke werker, met een passie voor doelgerichte oplossingen. Ik voer al jaren mooie klussen uit voor geweldige klanten. Mijn technische specialisaties zijn het Thinkwise platform, SQL Server en ColdFusion development.

Lees verder...
Diensten