|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。Hamcrest
一句话,假如你写单位测试,就应当用Hamcrest。
现在不写单位测试,你都欠好意义说本人在唱工程项目了。但你一样平常这么写断言呢?假如你还写成上面如许,我只能说你后进了:
assertEquals(a,b);
请告知我,哪一个是实行了局,哪一个是预期了局,不论你是如何,归正年夜多半情形下,我是记不住的。以是,这个在只重功效不重可读性年月发生的API该更新了。因而,Hamcrest就是为懂得决如许的成绩而生的。
assertThat(a,is(b));
很分明,后面一个是实行了局,前面一个是预期了局,固然这只是一个复杂的例子。因为Hamcrest引进了matcher的观点(就是你看到的is部分),我们能够举行更多的组合:
assertThat(number,greaterThan(5));
assertThat(text,startsWith("Hello"));
assertThat(array,hasItem("World"));
Hamcrest云云好用,以致于JUnit已将其吸纳出来。假如你如今用的JUnit是4.4以后的版本,那你已有了Hamcrest。无需分外的设置,就能够拿过去用。
Mockito
写单位测试不必Mock框架几近是一件不成能的事,我是说Mock框架,不是Mock形式哦!关于老Java程序员来讲,提起Mock框架,领先在脑海中撞线的多数是JMock或EasyMock。
利用Mockito,只需有一个来由就够了,复杂。比拟于JMock,它不必写checking,比拟于EasyMock,它省往了replay。上面是个例子:
ListmockedList=mock(List.class);
when(mockedList.get(0)).thenReturn("first");
System.out.println(mockedList.get(0));
固然,Mockito仍是十分壮大的。
最初再夸大一遍,不管利用哪一个框架,请只管不要利用verify,也就是传说中的Mock形式,那是把代码拉进泥潭的入手下手。
SLF4J和Logback
日记几近是略微有点范围的项目躲不开的一个工具,假如你是个老Java程序员,你一定晓得Log4J,多数也晓得CommonsLogging。是时分把它们抛弃了,由于有SLF4J和Logback了。SLF4J要替换CommonsLogging,而Logback的方针是Log4J。
程序员里愤青多,SLF4J和Logback的作者就是一个,他叫CekiG |
|