Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ejp无状态本地类在测试类中模拟私有静态java.util.prefs.Preferences_Java_Unit Testing_Ejb - Fatal编程技术网

如何使用ejp无状态本地类在测试类中模拟私有静态java.util.prefs.Preferences

如何使用ejp无状态本地类在测试类中模拟私有静态java.util.prefs.Preferences,java,unit-testing,ejb,Java,Unit Testing,Ejb,我想使用mockito编写测试类来测试带有接口的无状态本地ejb 我的测试班 当我从sampleTest类运行checkInfoTest方法时,控件转到SampleHandler类。在该类中,url变量始终返回空值。 调试代码后,它永远不会转到MsAgentImpl.getBaseUrl方法 public class SampleHandler{ private static final Logger logger = Logger.getLogger(TLDHandl

我想使用mockito编写测试类来测试带有接口的无状态本地ejb

我的测试班

当我从sampleTest类运行checkInfoTest方法时,控件转到SampleHandler类。在该类中,url变量始终返回空值。 调试代码后,它永远不会转到MsAgentImpl.getBaseUrl方法

    public class SampleHandler{

        private static final Logger logger = Logger.getLogger(TLDHandler.class);

        @EJB
        private IMsAgent msAgent;

        public void setMsAgent(IMsAgent msAgent) {
            this.msAgent = msAgent;
        }

    public infoAvailability checkInfoAvailable(String sample){
        final URI url = msAgent.buildUrl(API_PREPEND_URL + sample + "/check");    
    }
}

    @Stateless
    @Local({IMsAgent.class})
        public class MsAgentImpl implements IMsTokenAgent {

        private static final String API_BASE_URL_PROPERTY_NAME = "API_BASE_URL";
        private static final String DEFAULT_API_BASE_URL = "https://stage.url.com/v1";
        private static Preferences preferences = Preferences.systemNodeForPackage(MsAgentImpl.class);

        @Override
        public URI getBaseUrl() {
            return URI.create(preferences.get(API_BASE_URL_PROPERTY_NAME, DEFAULT_API_BASE_URL));
        }
    }
@RunWith(MockitoJUnitRunner.class)
public class sampleTest {

    @Mock
    IMsAgent msAgent;

    @InjectMocks
    private SampleHandler sampleHandler = new SampleHandler();

    @Before
    public void setUp() {
      sampleHandler.setMsAgent(Mockito.mock(MsAgentImpl.class));
    }

    @Test
    public void checkInfoTest() throws Exception {
  final infoAvailability response = sampleHandler.checkInfoAvailable("sample");
    }
}