软件工程(2018)第二次个人作业

软件工程(2018)第二次个人作业

被这个问题搞崩溃了——记第二次作业开头就遇到难题

本次作业是用Eclipse进行练习自动单元测试技术,由于本人以前接触过JAVA的皮毛,故计算机还残留着以前装的JDK,可能这就是接下来遇到问题的根源。

从网上下好Eclipse后,安装。安装时选择第一项。

o_1.PNG

Eclipse安装后,去下载最新JDK,进行安装。

o_6.PNG

由于个人习惯,Eclipse和JDK均未安装在默认目录,而是安装在非系统盘的根目录(路径全为中文),且JDK与旧版JDK在不同盘目录。

一切安装好后,环境变量也设置好了,且在cmd中测试过java、javac、java -version命令,均OK。

打开Eclipse,新建工程1,结果出现如下问题

o_14.PNG

The project cannot be built until build path errors are resolved
Unbound classpath container:"JRE System Library[JavaSE-9]"in porject"1"
工程不能创建除非构建路径问题解决,未关联类路径为JRE System Library[JavaSE-9](自己翻译的)

首先,我先进行了小白操作:将所以JDK、Eclipse全部卸载,痕迹删除,重新安装,路径默认,还是有以上问题。

没办法,老规矩,网上解决,将英文错误代码输入浏览器。

过滤掉跟tomcat有关的答案(作业没用到tomcat,而且非Eclipse组件)

发现一个好像可以试试的答案

o_15.PNG

Got to your build path in eclipse as - Right Click (Java Project) -> properties -> Java Build Path -> Libraries. Do you see any jar/library being listed there and having warning or issue icon in front? – Yogendra Singh Oct 8 '12 at 14:51

按照路径打开到Libraries,CLASSPATH中真的有unbound,将其移除

o_16.PNG

Problems 没有了!

输入测试代码

  public class Calculate {
    public int add(int a, int b) {
        return a + b;
    }
    public int substract(int a, int b) {
        return a - b;
    }
    public int multiply(int a, int b) {
        return a * b;
    }
    public int divide(int a, int b) {
        // 这里只是最简单的测试demo,暂不做容错处理
        return a / b;
    }
  }

又出现了问题

o_17.PNG

The project was not built since its build path is incomplete. Cannot find the class file for java.lang.Object. Fix the build path then try building this project
The type java.lang.Object cannot be resolved. It is indirectly referenced from required .class files
工程不会建立因为它的构建路径不完整。找不到java.lang.Object的类文件。补充构建路径然后重建工程(自己翻译的)

继续寻找别的答案(我感觉不能只删不加,是不是应该加上什么路径),发现了一个回答

o_18.PNG

按照所说的,我自己添加Library,添加了JRE System Library,问题又没有了!

o_19.PNG

作业继续进行

引入单元包JUNIT4时发现问题,与教程不一样的是,我的代码提前输入了,应该在类建完后输入。经过更改后与教程同步(引入JUNIT4单元测试包完成)

o_20.PNG

引入Junit4测试框架CalculatorTest

o_21.PNG

右击新建的Java类Calculator,点击New-->Junit Test Case,选择Junit4,Name取calculatorTest1。勾选需要测试的部分以作框架:add,substract,multiply,divide后Finish(这部分忘截图了)。

最终测试框架如下

o_22.PNG

输入测试代码如图

public class calculatorTest1 {
    @Test
    public void testAdd() {
        assertEquals(8,new calculator().add(4,4));
    }
    @Test
    public void testSubstract() {
        assertEquals(3,new calculator().substract(7,4));
    }
    @Test
    public void testMultiply() {
        assertEquals(8,new calculator().multiply(4,2));
    }
    @Test
    public void testDivide() {
        assertEquals(1,new calculator().divide(4,4));
    }
}

o_23.PNG

右击已输入测试代码的测试框架CalculatorTest,点击Run As-->1 Junit Test,默认选项后测试运行。

得到结果如图

o_24.PNG

测试成功!

后记:其实一开始的问题解决花了4个小时左右,删除重装了好几次没有解决。网上查了好多答案,也试了好多(一度对自己电脑能否具有编程能力持有怀疑态度),因截图麻烦就没有把错误的解决方法写出(实际上我觉得我还是没有完美解决那个问题,日后说不定有更深理解)。正如老师上课说的,英语很重要,还是外国程序员接触早,问题发现得早,有更多的讨论和解决。本次作业也参考了别的同学的博文(主要是看看有没有跟我遇到过同样问题)。先这样吧,有空再改改。

转载于:https://www.cnblogs.com/L1aw/p/8618026.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值