为了账号安全,请及时绑定邮箱和手机立即绑定

使用 jUnit 测试接口

使用 jUnit 测试接口

慕斯709654 2022-06-23 16:11:27
我有一个接口和一个实现它的类。我 @Override 该方法,我想使用 JUnit4 对其进行测试。我不知道我的方法是否有错误,或者我的测试课是否做错了什么。拥有接口本身的实例是否正确,或者我应该将其设为实现接口的 myCustomString 类的实例。如果有人能解释这些对象是如何相互调用的,那就太棒了。我的 JUnit 测试返回一个空指针异常。public interface MyCustomStringInterface {    int countNumbers();}public class MyCustomString implements MyCustomStringInterface {    private String string;    @Override    public int countNumbers() {        while (string.length() != 0 ) {            int count = 0;            for (int i = 0; i < string.length(); i++) {                if(Character.isDigit(string.charAt(i))) count++;            }            return count;        }        return 0;}public class MyCustomStringTest {     private MyCustomStringInterface mycustomstring;    @Test    public void testCountNumbers1() {       mycustomstring.setString("th1s strin8 shou1d hav3 numb3rs,        righ7?");       assertEquals(6, mycustomstring.countNumbers());    }   }
查看完整描述

1 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

好吧,根据您发布的代码,您没有创建MyCustomString对象。这可能是你的NullPointerException.


尝试mycustomstring = new MyCustomString()在您的 setString 方法上方添加,如下所示:


public class MyCustomStringTest { 

    private MyCustomStringInterface mycustomstring;


    @Test

    public void testCountNumbers1() {

    mycustomstring = new MyCustomString();

       mycustomstring.setString("th1s strin8 shou1d hav3 numb3rs, righ7?");


       assertEquals(6, mycustomstring.countNumbers());

    }   

}


查看完整回答
反对 回复 2022-06-23
  • 1 回答
  • 0 关注
  • 158 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信