AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

DUnit: FillCombobox testen -> no parent

Ein Thema von hoika · begonnen am 6. Mai 2015 · letzter Beitrag vom 6. Mai 2015
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
6.137 Beiträge
 
Delphi XE4 Professional
 
#1

DUnit: FillCombobox testen -> no parent

  Alt 6. Mai 2015, 16:45
Hallo,
ich stehe gerade auf dem Schlauch.

In einem TestCase geht es um den Test einer ComboBoxFüllRoutine (jaja).

Delphi-Quellcode:
procedure FillComboBox(ACB: TComboBox);
begin
  ACB.Items.Clear; // no parent
end;

// Test-Unit

procedure TTestCase.Test_FillComboBox;
var
  CB: TComboBox;
begin
  CB := TComboBox.Create(nil);
  CB.Parent := ???

  FillComboBox(CB)
end;
Was gebe ich als Parent an ?
Application.MainForm hat schon mal nicht geklappt.


PS: Ist nicht meine Routine, ich muss sie nur Testen ...


Danke

Heiko
Heiko
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
2.514 Beiträge
 
Delphi 2009 Professional
 
#2

AW: DUnit: FillCombobox testen -> no parent

  Alt 6. Mai 2015, 16:58
Einfache Lösung: ein leeres Form definieren, und seine Unit der Testcase-Unit hinzufügen. Im Setup eine Instanz des Forms erzeugen, und einer Instanzvariable zuweisen (MyEmptyForm := TEmptyForm.Create, diese Forminstanz kann dann im Testfall als Owner angegeben werden:

CB := TComboBox.Create(MyEmptyForm);

Dann muss der Parent nicht explizit angegeben werden. p.s. Im TearDown das Form wieder freigeben.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.250 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: DUnit: FillCombobox testen -> no parent

  Alt 6. Mai 2015, 17:06
Du kanst ja ein Dummy-Fenster erzeugen:

Delphi-Quellcode:
var
  CB : TComboBox;
  WN : TForm;
begin
  WN := TForm.Create(nil);
  try
    CB := TComboBox.CreateParented(WN.Handle);
    CB.Name := 'Combobox1234';
    CB.Items.Clear;
  finally
    WN.Free;
  end;
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
3.398 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: DUnit: FillCombobox testen -> no parent

  Alt 6. Mai 2015, 17:10
Viel anders als schon vorgeschlagen wurde, würd ich es auch nicht machen.

Mich würde noch interessieren, ob noch auf andere Member der TComboBox zugegriffen wird,
oder nur auf Items. Dann wäre nämlich ein Refactoring angebracht (dass du nicht wirklich
glücklich mit dem Code bist, meine ich an deinen Anmerkungen zu erkennen).
Außerdem würd mich interessieren, was du denn in dem Test abprüfen willst.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
6.137 Beiträge
 
Delphi XE4 Professional
 
#5

AW: DUnit: FillCombobox testen -> no parent

  Alt 6. Mai 2015, 21:27
Hallo,

danke für die Antworten.
Das mit dem Dummy-Form klingt gut.

Ich hatte jetzt erst mal die TCombobox durch TStrings getauscht
und den Code entsprechend geändert.
Das klappt.

Danke

Heiko
Heiko
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2018 by Daniel R. Wolf