Dunitx'teki ad alanlarının, bir ad alanı altındaki tüm test donanımlarının bir çift kurulum/yıpranma yordamının kapsayacağı şekilde kullanılması mümkün mü? (Nunit'teki SetupFixture özniteliğine benzer şekilde, http://www.nunit.org/index.php?p=setupFixture&r=2.5.5). Genel kurulum ve söküm yöntemlerineDunitx'te bir ad alanındaki tüm bağlantılar için ortak bir kurulum rutini oluşturabilir miyim?
Tests.MyFixture.MyTestUnit1.pas ile TMyFixtureInitializer sınıf için
Tests.MyFixture.pas:
aşağıdaki birimi adları/ad alanları kullanmaya çalıştı ve gerçek test dersleri için Tests.MyFixture.MyTestUnit2.pas.
aşağıdaki sorunlarla karşılaştı: Sınıf kendisi herhangi bir test rutini içermiyorsa
- TMyFixtureInitializer.SetupFixture ve TeardownFixture yürütülmez. Tests.MyFixture.MyTestUnit1 ve Tests.MyFixture.MyTestUnit2 içinde, SetupFixture ve TeardownFixture rutinleri denir TMyFixtureInitializer bir kukla testi ekledikten sonra
- ancak sonra testleri. Ben yapıcı SetupFixture niteliğini ve TMyFixtureInitializer yıkıcı üzerinde TeardownFixture özelliğini ayarlamak
- , daha önce yürütülür ve sonuçta testleri, tamamen ad alanlarını görmezden.
Tests.MyFixture.pas:
unit Tests.MyFixture;
interface
uses
DUnitX.TestFramework;
type
[TestFixture]
TMyFixtureInitializer = class(TObject)
public
[SetupFixture]
procedure SetupMyFixture;
[TeardownFixture]
procedure TeardownMyFixture;
end;
implementation
{ TMyFixtureInitializer }
procedure TMyFixtureInitializer.SetupMyFixture;
begin
Self.Log('initialize a lot of stuff ...');
end;
procedure TMyFixtureInitializer.TeardownMyFixture;
begin
Self.Log('cleanup a lot of stuff ...');
end;
initialization
TDUnitX.RegisterTestFixture(TMyFixtureInitializer);
end.
Tests.MyFixture.MyTestUnit1.pas:
unit Tests.MyFixture.MyTestUnit1;
interface
uses
DUnitX.TestFramework;
type
[TestFixture]
TestClass1 = class(TObject)
public
[Test]
procedure Test;
end;
implementation
{ TestClass1 }
procedure TestClass1.Test;
begin
end;
initialization
TDUnitX.RegisterTestFixture(TestClass1);
end.
(Tests.MyFixture.MyTestUnit2.pas kaynağı benzerdir).
Başlatma ve temizleme düzenlemek için ad alanlarının nasıl kullanılacağı konusunda bir örneği var mı?