【问题标题】:Testcases implementation for Java similar to topcoder/codecheff类似于 topcoder/codechef 的 Java 测试用例实现
【发布时间】:2014-06-05 05:44:45
【问题描述】:

我想实现一个测试用例,它将运行特定的 java 类,然后向它提供输入并从中获取输出。

所以,这里有三个问题:

1) 我们如何从junit 运行另一个java 类?我们是否需要运行命令行来执行此操作? 2)java类运行后,我们如何为其提供输入?我们在控制台上打印吗? 3) 如何读取程序的输出,这里是读取控制台吗?

我没有写很多测试用例,写过简单的测试用例,它会调用任何java类中的方法并断言它。谁能帮我做这件事?

注意:这既不是大学/学校的家庭作业,也与公司工作无关……:p

【问题讨论】:

    标签: java input junit output


    【解决方案1】:

    1) 使用 junit 测试方法测试在另一个类中编写的代码包括创建该类的实例然后调用其方法,或者调用该类的静态方法。如果你想运行该类的 main 方法(当你从命令行运行你的 java 程序时自动运行的方法),那么只需调用 MyClass.main(someArgs),其中 someArgs 是作为一个数组给出的假命令行参数字符串。

    2) 调用 main 后,您的程序将正常运行。如果需要,您可以手动输入您的输入来测试您的程序。但是由于您正在编写测试方法,因此您可能希望将其自动化...

    3) 您可以使用System.setIn and System.setOut 将输入和输出重定向到您自己的InputStream 和OutputStream。然后,您可以直接从您的测试方法发送“用户”输入,并根据 OutputStream 的内容进行断言。

    【讨论】:

    猜你喜欢
    • 2022-11-23
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    相关资源
    最近更新 更多