Sorry I mean "remove" :-)

Thanks
Edward

On Tue, Aug 16, 2016 at 6:35 PM, Chang Chen <[email protected]> wrote:

> Hi Edward
>
> Does remote mean run TestEagleConfig in different JVM?
>
> Thanks
> Chang
>
> On Wednesday, August 17, 2016, Edward Zhang <[email protected]>
> wrote:
>
> > TestEagleConfig is not a valid test case because it assumes that it can
> > initialize EagleConfigFactory, but when we execute multiple test cases,
> > this may not work as EagleConfigFactory may already be initialized before
> > this test case is executed. So setting "config.resource" will not have
> any
> > effect.
> >
> > I suggest we remote TestEagleConfig, and also going forward we can need
> > refactor EagleConfigFactor to be not a singleton but use
> > com.typesafe.config.Config as constructor parameter.
> >
> > Thanks
> > Edward
> >
> > On Tue, Aug 16, 2016 at 4:26 AM, Chang Chen <[email protected]
> > <javascript:;>> wrote:
> >
> > > Hi Guys
> > >
> > > In the middle of writing UT for Eagle, we found it is difficult to mock
> > >  EagleConfigFactory, since it has static method. The current workaround
> > is
> > > introducing powermock, so that we can set manager to mock object , i.e.
> > >
> > >    Whitebox.setInternalState(EagleConfigFactory.class, "manager",
> > > eagleConfigFactory);
> > >
> > > This is OK in most cases, but TestEagleConfig.testInit could be failed,
> > > because manager only initialized at first time and
>  EagleConfigFactory's
> > > Constructor is private:
> > >
> > >    private static EagleConfigFactory manager = new
> EagleConfigFactory();
> > >
> > > EagleConfigFactory actually has two roles, one is factory and another
> is
> > > configuration. I propose refactoring EagleConfigFactory and distinguish
> > > these two roles:
> > >
> > > public class EagleConfigImpl implements EagleConfig{
> > > }
> > >
> > > public class EagleConfigFactory {
> > >   public static EagleConfig load(){}
> > >   public static void reset(EagleConfig config){
> > >     if (config == null) {
> > >       //default
> > >     }else{
> > >     }
> > >   }
> > > }
> > >
> > > However doing so, we need call EagleConfigFactory.reset at the
> beginning
> > of
> > >  eagle start.
> > >
> > > Any ideas?
> > >
> > > Thanks
> > > Chang
> > >
> >
>

Reply via email to