JUnit基本用法

0x00 引言

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,很多开发工具都集成了对JUnit的支持,就像支持Git一样。使用JUnit做测试是一种白盒测试。JUnit作为一个测试框架,使用JUnit3的时候需要继承TestCase类,JUnit4不需要继承它。自己做测试以前使用都是使用main,不管是简单的printf、alert,还是复杂的debug,感觉都没有JUnit方便。Python中有基于JUnit的衍生版本。C系列Google出的很好用。C语言cmocka很不错。

0x01 示例

file: CompareStrings.java

    /**
     * Created by Guile on 2015-4-4.
     */

    public class CompareStrings {
        /**
         * @param A : A string includes Upper Case letters
         * @param B : A string includes Upper Case letter
         * @return :  if string A contains all of the characters in B return true else return false
         */
        public boolean compareStrings(String A, String B) {
            // write your code here
            //
            if (0 == B.length()) {
                return true;
            }

            int[] temp = new int[26];

            for (int i = 0; i < A.length(); i++) {
                char c = A.charAt(i);
                temp[c - 'A'] += 1;
            }

            for (int i = 0; i < B.length(); i++) {
                char c = B.charAt(i);
                temp[c - 'A'] -= 1;
                if (temp[c - 'A'] < 0) {
                    return false;
                }
            }
            return true;
        }
    }

file: CompareStringsTest.java

    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;

    import static org.junit.Assert.*;

    /**
     * Created by Guile on 2015-4-4.
     */
    public class CompareStringsTest {
        private CompareStrings compare;

        @Before
        public void setUp() throws Exception {
            compare = new CompareStrings();
            System.out.printf("@Before \n");

        }

        @After
        public void tearDown() throws Exception {
            System.out.printf("@After \n");

        }

        @Test
        public void testCompareStrings() throws Exception {
            System.out.printf("now ! Testing \n");
            assertEquals(true, compare.compareStrings("ABC","AB"));
            assertEquals(false, compare.compareStrings("ABC","ABD"));
            assertEquals(false, compare.compareStrings("ABCDEFG", "ACC"));
            assertEquals(true, compare.compareStrings("ABCDEFG", "AC"));

        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • JUnit是一个开源的java自动化单元测试框架。由 Erich Gamma 和 Kent Beck 与1997年...
    zhaozhiwen阅读 2,094评论 2 13
  • JUnit 是Java语言标准单元测试库。JUnit4 放弃了过去严格的命名规范、继承层次,转而采用了Java 5...
    桃子妈咪阅读 1,209评论 0 2
  • 高阶函数 函数在swift中是一等值(first-class-value),换句话说,函数可以作为参数被传递到其他...
    钱难有阅读 226评论 0 0
  • 这两周每天下班后都去PAGE ONE读书,读洋酒品鉴、读沟通技巧、读搭配方式、读治愈方法、读群众运动、读反脆弱、读...
    Pandora哆拉阅读 187评论 0 0
  • 没有你的爱,就没有这世界。没有你与我同在,世界幻灭。没有你的应许,我做不了什么。
    竹林_bc2d阅读 412评论 0 2