Java 为什么赢了';t jUnit 4是否找到预期的异常?
我设法理解了JUnit3.8,但老实说,即使在我阅读了超过45分钟的文档之后,我也不知道JUnit4是如何工作的。我对注释没有问题,但对运行测试有问题。 例如,junit在这个小示例中找不到我期望的异常: 输出:Java 为什么赢了';t jUnit 4是否找到预期的异常?,java,junit,junit4,Java,Junit,Junit4,我设法理解了JUnit3.8,但老实说,即使在我阅读了超过45分钟的文档之后,我也不知道JUnit4是如何工作的。我对注释没有问题,但对运行测试有问题。 例如,junit在这个小示例中找不到我期望的异常: 输出: .E Time: 0,011 There was 1 error: 1) testTest(junittests.TestTestCase)java.util.InputMismatchException Main.java TestRunner.run(TestTestCa
.E
Time: 0,011
There was 1 error:
1) testTest(junittests.TestTestCase)java.util.InputMismatchException
Main.java
TestRunner.run(TestTestCase.class);
DemoClass.java
import java.util.InputMismatchException;
public class DemoClass {
public void test() {
throw new InputMismatchException();
}
}
testcase.java
import junit.framework.TestCase;
import org.junit.Before;
import java.util.InputMismatchException;
public class TestTestCase extends TestCase {
private DemoClass inst;
@Before
public void setUp() {
inst = new DemoClass();
}
@org.junit.Test(expected = InputMismatchException.class)
public void testTest() {
inst.test();
}
}
我真的不知道如何使用它。提前多谢 像这样试试:
你的测试课
public class DemoClass {
public void test() {
throw new InputMismatchException();
}
}
同一包中的测试类:
public class DemoClassTest {
@Test(expected = InputMismatchException.class)
public void testTest() {
new DemoClass().test();
}
}
我可以在IntelliJ中运行一整天。不要扩展TestCase。不要使用junit.framework包中的任何类。他们能够运行遗留的JUnit3测试。它们不应该在JUnit4中使用。可以确认,可以重新创建问题。删除
扩展测试用例
解决了它。大家好!当我删除extenstedtestcase
行TestRunner.run(testcase.class)时代码>生成错误。“未找到适合运行的方法”。我想我需要另一个Runner类,但我总是使用EclipseJUnit启动器。但建议使用org.junit.runner.JUnitCore
。我尝试了JUnitCore.runClasses(DemoClassTest.class)
,它返回一个结果
对象,您可以查询该对象的信息。非常感谢!这是否意味着在JUnit4中我不再使用textui/awtui/swingui?