没有变量的JUnit测试

时间:2017-09-17 11:59:35

标签: java junit

我正在尝试使用JUnit测试,但我不确定如何使用它。 我有一个类,其方法返回一个具有此类方法名称的String。

public class Example {
    static void method1() {
        System.out.println("method1");
    }

    public static void main(String[] args) {
        method1();
    }
}

现在,我想用JUnit断言来测试这个类,但由于没有变量,我不知道如何测试这段代码。

有人可以告诉我这个JUnit测试的完整代码吗?

1 个答案:

答案 0 :(得分:2)

这很难进行单元测试,因为您的对象具有硬编码的依赖关系。该依赖项是系统输出控制台。从对象中删除该依赖项并将其移动到应用程序使用代码:

public class Example {
    static String method1() {
        return "method1";
    }

    public static void main(String[]args) {
        System.out.println(method1());
    }
}

现在,您可以通过简单断言方法返回的值是您所期望的来测试该方法。

此处的目标是从代码中删除依赖项。像系统控制台输出这样的东西必须在某个地方,但随着代码变得越来越复杂,你可以将它们隔离在可模拟的接口之后。您的业​​务逻辑,即您要进行单元测试的东西,应该没有依赖关系。