WordCount

合作者:201631062612 201631062412

代码地址:https://gitee.com/xsszz/WordCount

(1)互审代码情况

主类:Main 功能:实现对输入的命令的判断,将命令分解为字符串数组并传入与之对应的函数中
UI界面:UI 功能:实现高级功能,图形化界面,单独处理一个命令
工具类:tool 功能:提供接口给主类进一步判读字符串,并且将一些多次出现的方法封装起来
方法类:function 功能:执行命令,并且将得到的数据保存在该类中

单元测试类:toolTest 功能:对tool工具类进行单元测试

(2)静态代码检测

初级功能:wc.exe -l -w -c 1.txt

拓展功能: wc.exe -c -w -l -a -s *.c -e 1.txt -o end.txt

高级功能:wc.exe -x

等价类

有效等价类 无效等价类

(1)字符串(-c,-w,-l,-e,-a,-e,-s)

(2)字符串(不带空格)

(3)文件路径

(4)文件夹路径

(5)字符串(-o)

(6)非(1)+(3)

(7)非(1)+(4)

(8)空格

 

测试用例 覆盖等价类 运行结果
-w -l -c 1.txt (1)(3) 有效
-c -s *.c -o 2.txt (1)(4)(5) 有效
asd42asdasd (2) 有效
-1+1 -5 1.txt (6) 无效
  (8) 无效
-1+2 -5 -s *.c (7) 无效
     
     

 

(3)单元测试

一、环境配置

     使用idea IDE 进行单元测试,首先需要安装JUnit 插件。

          1.安装JUnit插件步骤

              File-->settings-->Plguins-->Browse repositories-->输入JUnit-->选择JUnit Generator V2.0安装。

          2.使用JUnit插件

             在需要进行单元测试的类中,使用快捷键alt+insert,选择JUnit test,选择JUnit4。

二、单元测试

代码Demo:

@Test
    public void testAdd() {
        assertEquals(2, new UserDao().add(1, 1));
    }

1>注意事项:

    1、测试方法上面必须使用@Test注解进行修饰。

    2、测试方法必须使用public void 进行修饰,不能带有任何参数。

    3、新建一个源代码目录用来存放测试代码。

    4、测试类的包应该与被测试类的包保持一致。

    5、测试单元中的每一个方法必须独立测试,每个测试方法之间不能有依赖。

    6、测试类使用Test做为类名的后缀(非必要)。

    7、测试方法使用test作为方法名的前缀(非必要)。

2>错误解析:

    1、Failure 一般是单元测试使用的断言方法判断失败引起,说明预期结果和程序运行结果不一致。

    2、error 是有代码异常引起的,他产生于测试代码本身中的Bug。

    3、测试用例是不是用来证明你是对的,而是用来证明你没有错。

3>测试流程:

代码Demo:    

@BeforeClass
    public static void setUpBeforeClass() throws Exception {

    }
    @AfterClass
    public static void setUpAfterClass() throws Exception {

    }

    @Before
    public void before() throws Exception {

    }

    @After
    public void after() throws Exception {

    }

      1、@BeforeClass所修饰的方法在所有方法加载前执行,而且他是静态的在类加载后就会执行该方法,

         在内存中只有一份实例,适合用来加载配置文件。

      2、@AfterClass所修饰的方法在所有方法执行完毕之后执行,通常用来进行资源清理,例如关闭数据库连接。

      3、@Before和@After在每个测试方法执行前都会执行一次。

4>常用注解

      1、@Test(excepted=XX.class) 在运行时忽略某个异常。

      2、@Test(timeout=毫秒) 允许程序运行的时间。

      3、@Ignore 所修饰的方法被测试器忽略。

      4、RunWith 可以修改测试运行器 org.junit.runner.Runner

(1).为所需要测试的单元创建测试实例

选中锁需要创建测试的类,alt+insert

创建后实现所要进行的测试函数

选中测试函数进行测试 测试结果如下

(4)性能优化和测试

性能测试工具选择.JProfiler

JProfiler很容易安装,并且通过向导,你可以选择应用服务器用来运行应用程序。我不得不选择使用JPofiler应用服务器的主目录,以及向导生成的一个单独的启动脚本。然后运行服务器。在监听会话的过程中,它会提供几个选项,它可以记录内存的使用和CPU的使用率。在查看CPU使用率的同时,可以看到执行路径。这让我看到应用程序大部分时间都花在请求上。我们可以将IntelliJ插件安装到IDE上,那么运行JProfiler会更加便利。

 

(5)总结

 

 尝试学习了Junit单元测试,以及git代码的打包提交

 

 

posted @ 2018-10-21 14:13  朔方。  阅读(165)  评论(0编辑  收藏  举报