繁体   English   中英

JUnit 用于 class 和 static 方法,返回类型为 String 和 void

[英]JUnit for class with static methods with return type as String and void

下面是我的 class ,它具有 static 方法.. 一个以 void 和另一个以 String 作为返回类型。建议将不胜感激..

****************************************************************************
public class ServiceImpl {
  public static String getName(){
   // some business logic
   Utils.doSomething();
  String result = Utils.getName();
  return result;
}
}
****************************************************************************
public class Utils {
  public static void doSomething(){
  // some DB business logic
}

  public static String getName(){
  // some business logic
  return "Static String";
}
}
****************************************************************************
PowerMockito.spy(Utils.class);
PowerMockito.doNothing().when(Utils.class);  // working
PowerMockito.when(Utils.getName()).thenReturn("TESTER");  // not working

它对我来说是这样的:

@RunWith(PowerMockRunner.class)
@PrepareForTest(Utils.class)
public class SimpleTest {

    @Test
    public void test() throws Exception {
        PowerMockito.spy(Utils.class);
        PowerMockito.doNothing().when(Utils.class, "doSomething");  // add method name
        PowerMockito.when(Utils.getName()).thenReturn("TESTER");

        assertEquals("TESTER", ServiceImpl.getName());
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM