Tag: junit3

如何在Junit控制台中接受来自用户的输入

我正在尝试为下面给出的函数编写Junit测试用例: class A{ int i; void set() { Scanner in=new Scanner(System.in); i=in.nextInt(); } } 现在我的问题是当我为它创建一个Junit测试用例时,除了用户的输入之外它没有: public void testSet() throws FileNotFoundException { System.out.println(“set”); A instance = new A(); int i=1; instance.set(i); // TODO review the generated test code and remove the default call to fail. //fail(“The test case is a prototype.”); } 请建议我该怎么做才能接受用户的输入。

如何从gradle运行Junit TestSuite?

我正试图在我的项目中从Ant构建迁移到Gradle。 有一堆测试用例(junit.framework.TestCase的子类)和一些测试套件(junit.framework.TestSuite的子类)。 Gradle自动选择要运行的所有测试用例(junit.framework.TestCase的子类),而不是套件(junit.framework.TestSuite的子类)。 我可能可以通过调用ant.junit来运行它。 但是,我觉得应该有一种原生的简单方法来强制gradle选择并运行。 我在文档中找不到任何内容。 我错过了什么吗?

无法在旧版本的JUnit上运行简单的JUnit TestCase

我试图在JUnit的3.7版本上运行一个简单的JUnit测试用例(我无法将其升级到最新版本) 运行IntelliJ时,我尝试运行JUnit测试用例时遇到以下exception: Exception in thread “main” java.lang.NoClassDefFoundError: junit/textui/ResultPrinter at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:108) Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter at java.net.URLClassLoader$1.run(URLClassLoader.java:202) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) … 3 more Process finished with exit code 1 我的类路径上有IntelliJ版本10.0.2,JUnit 3.7和IntelliJ插件,它声明它支持3.x和4.x 我可以看到IntelliJ执行以下操作(添加了中断以使其更具可读性) “C:\Program Files\Java\jdk1.6.0_20\bin\java” -Didea.launcher.port=7532 “-Didea.launcher.bin.path=C:\Program Files (x86)\JetBrains\IntelliJ IDEA Community Edition 10.0\bin” -Dfile.encoding=windows-1252 […]

Junit是否在每次测试方法调用时重新初始化该类?

当我运行以下代码时,两个测试用例都成为现实: import static junit.framework.Assert.assertEquals; import org.junit.Test; public class MyTest{ private int count; @Before public void before(){ count=1; } @Test public void test1(){ count++; assertEquals(2, count); } @Test public void test2(){ count++; assertEquals(2, count); } } 预期的行为 test1 – 成功 test2 – 失败(正如预期的那样,计数将变为3) 实际行为 test1 – 成功 test2 – 成功 为什么junit会在每次测试方法调用时reinitializing class/variable 。 这是junit中的错误或故意提供。