Eclipse配置JUnit教程

4星 · 超过85%的资源 需积分: 9 16 下载量 141 浏览量 更新于2024-09-27 收藏 2.49MB PDF 举报
"Eclipse的Junit配置.pdf" 在Eclipse集成开发环境中,JUnit是一个非常重要的单元测试框架,它使得开发者可以方便地编写和运行针对Java代码的测试用例。Eclipse IDE已经内置了JUnit组件,但为了充分利用其功能并进行有效的配置,我们需要进行一些额外的设定,特别是涉及到类路径变量的设置。 首先,我们需要创建两个类路径变量,分别是JUNIT和JUNIT_SRC。JUNIT用于指向JUnit库的jar文件,而JUNIT_SRC则用于指向JUnit的源代码,这对于调试和理解JUnit的工作原理是很有帮助的。 1. 创建JUNIT变量: - 打开Eclipse,选择`Window -> Preferences`,在弹出的Preferences对话框中,展开Java节点,点击`BuildPath -> ClasspathVariables`。 - 点击`New`按钮,打开`New Variable Entry`对话框。 - 在这里,输入变量名称为`JUNIT`,然后配置路径为`junit.jar`的位置。通常,在Eclipse 3.0.2版本中,可以在`/eclipse/plugins/org.junit_3.8.1/junit.jar`下找到这个文件。 - 确认设置后点击`OK`,JUNIT变量就会被创建。 2. 创建JUNIT_SRC变量: - 同样是在`ClasspathVariables`窗口中,再次点击`New`按钮。 - 输入新变量名为`JUNIT_SRC`,配置路径指向JUnit源代码的zip文件,通常是`/eclipse/plugins/org.eclipse.jdt.source_3.0.2/src/org.junit_3.8.1/junit-src.zip`。 - 完成设置后,点击`OK`,JUNIT_SRC变量也会被创建。 完成上述步骤后,你将在`ClasspathVariables`窗口看到JUNIT和JUNIT_SRC两个变量,这意味着你已经成功配置了JUnit的库和源代码。 接下来,我们可以创建JUnit测试: 2. 创建JUnit测试: - 新建一个Java项目,通过`File -> New -> Project`,然后选择`Java Project`。 - 创建一个测试类,通常这个类会继承自`junit.framework.TestCase`或使用JUnit 4/5的注解方式。 - 在测试类中,编写测试方法,每个方法代表一个独立的测试用例,可以使用JUnit提供的断言方法如`assertEquals`来验证预期结果。 - 将测试类添加到项目的测试源路径中,这样Eclipse就能识别并运行这些测试。 一旦你的测试类准备好了,你可以在Eclipse中右键点击测试类,选择`Run As -> JUnit Test`来执行测试。测试结果会在Eclipse的JUnit视图中显示,包括通过的测试、失败的测试以及任何错误信息。 配置好Eclipse中的JUnit环境对于Java开发人员来说至关重要,因为它提供了方便的测试工具,能快速检测代码的正确性,确保程序质量。通过设置类路径变量,不仅简化了JUnit库的管理,还便于调试和学习JUnit的源代码。

org.junit.ComparisonFailure: expected:<456[]> but was:<456[ ]> at org.junit.Assert.assertEquals(Assert.java:115) at org.junit.Assert.assertEquals(Assert.java:144) at Dao.BookDaoTest.testAddBook(BookDaoTest.java:60) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)

2023-06-12 上传

java.lang.ExceptionInInitializerError at UserMapperTset.testupdateById(UserMapperTset.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230) at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58) Caused by: org.apache.ibatis.exceptions.PersistenceException:

2023-07-11 上传