0
테스트하는 동안이 오류가 계속 발생합니다. 나는 RoleRepository를 반환해야하는 IRoleRepository의 인스턴스를 생성 할 수도 없다. 여기 StructureMap 구성 아니오 플러그인 정의 예외 코드 202
오류입니다 : TestCase에 'EStudy.Repository.Tests.when_fetching_instance_of_role_repository_using_structuremap.should_fetch_successfully' 실패 StructureMap.StructureMapException : StructureMap 예외 코드 : PluginFamily EStudy.Domain.Model에 대해 정의 (202) 아니오 기본 인스턴스. Model.EStudyModelDataContext, EStudy.Domain.Model, 버전 = 1.0.0.0, Culture = 중립, PublicKeyToken = null 에 StructureMap.BuildSession. StructureMap.Pipeline.ConfiguredInstanceBase1.StructureMap.Pipeline.IConfiguredInstance.GetChild(String propertyName, Type pluginType, BuildSession buildSession) at EStudyDomainModelRepositoriesRoleRepositoryInstanceBuilder4c713d65fe464f4792cd90352224a54b.BuildInstance(IConfiguredInstance , BuildSession) at StructureMap.Pipeline.ConfiguredInstanceBase
1.StructureMap.Pipeline.IConfiguredInstance.Build에서 StructureMap.Util.Cache
2.get_Item(KEY key) at StructureMap.BuildSession.CreateInstance(Type pluginType) at StructureMap.Pipeline.DefaultInstance.build(Type pluginType, BuildSession session) at StructureMap.Pipeline.Instance.createRawObject(Type pluginType, BuildSession session) at StructureMap.Pipeline.Instance.Build(Type pluginType, BuildSession session) at StructureMap.Pipeline.ConfiguredInstanceBase
1.getChild에서 < .ctor> b__0 (T 형) (문자열 propertyName 형식, 유형 pluginType이, BuildSession buildSession) (유형 pluginType이 , StructureMap.Container.GetInstance에서 StructureMap.BuildSession.CreateInstance에서 StructureMap.Pipeline.ConfiguredInstanceBase
1.build(Type pluginType, BuildSession session) at StructureMap.Pipeline.Instance.createRawObject(Type pluginType, BuildSession session) at StructureMap.Pipeline.Instance.Build(Type pluginType, BuildSession session) at StructureMap.Pipeline.BuildPolicy.Build(BuildSession buildSession, Type pluginType, Instance instance) at StructureMap.InstanceFactory.Build(BuildSession session, Instance instance) at StructureMap.BuildSession.CreateInstance(Type pluginType, Instance instance) at StructureMap.BuildSession.<.ctor>b__0(Type t) at StructureMap.Util.Cache
2.get_Item (KEY 키) (유형 pluginType이) (유형 pluginType이) StructureMap.Container에서 에서 BuildSession 세션, InstanceBuilder 빌더) . GetInstanceT at StructureMap.ObjectFactory.GetInstancePLUGINTYPE C : \ Projects \ EStudyVS2008 \ EStudySoltution \ EStudy.Repository.Tests \ Te st_StructureMapConfiguration.cs (41,0) : EStudy.Repository.Tests.when_fetching_instance_of_role_repository_using_structuremap.should_fetch_successfully에서()
[TestFixture]
public class when_fetching_instance_of_estudy_data_context_using_structuremap : BaseTest
{
[Test]
public void should_fetch_successfully()
{
Assert.IsNotNull(ObjectFactory.GetInstance<EStudyModelDataContext>());
}
}
BaseTest:
public class BaseTest
{
private TransactionScope _scope;
static BaseTest()
{
EStudy.Domain.Model.Configuration.StructureMapConfiguration.Configure();
}
And here is the StructureMapConfiguration.Configure method;
public class StructureMapConfiguration
{
public static void Configure()
{
ObjectFactory.Initialize(InitializeStructureMap);
ObjectFactory.Initialize(j =>
{
j.ForRequestedType<EStudyModelDataContext>().TheDefault.Is.OfConcreteType<EStudyModelDataContext>().WithCtorArg("connection")
.EqualTo(ConfigurationManager.ConnectionStrings["EStudyTestDatabaseEntities"].ConnectionString);
});
}
public static void InitializeStructureMap(IInitializationExpression x)
{
x.Scan(y =>
{
y.Assembly("EStudySoltution.EStudy.Domain.Model");
y.With<DefaultConventionScanner>();
}
);
}