Tôi có một lớp registry như thế này:StructureMap: Làm cách nào tôi có thể kiểm tra lớp đăng ký?
public class StructureMapRegistry : Registry
{
public StructureMapRegistry()
{
For<IDateTimeProvider>().Singleton().Use<DateTimeProviderReturningDateTimeNow>();
}
Tôi muốn kiểm tra xem cấu hình theo ý định của tôi, vì vậy tôi bắt đầu viết một bài kiểm tra:
public class WhenConfiguringIOCContainer : Scenario
{
private TfsTimeMachine.Domain.StructureMapRegistry registry;
private Container container;
protected override void Given()
{
registry = new TfsTimeMachine.Domain.StructureMapRegistry();
container = new Container();
}
protected override void When()
{
container.Configure(i => i.AddRegistry(registry));
}
[Then]
public void DateTimeProviderIsRegisteredAsSingleton()
{
// I want to say "verify that the container contains the expected type and that the expected type
// is registered as a singleton
}
}
Làm thế nào có thể xác minh rằng đăng ký đang theo đuổi kỳ vọng của tôi? Lưu ý: Tôi đã giới thiệu vùng chứa vì tôi không thấy bất kỳ loại phương pháp xác minh nào có sẵn trên lớp Đăng ký. Ý tưởng, tôi muốn kiểm tra trực tiếp trên lớp đăng ký.
Những khuôn khổ BDD là điều đó không? –
Nó chỉ là một viết lại của nunit. "ThenAttribute" kế thừa từ "TestAttribute" và kịch bản là một TextFixture trừu tượng với các phương thức Given và When được thực hiện trong [SetUp] – Marius