junit是什么?
JUnit是一个开放源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。它包括以下特性:
1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行器
1、用于测试期望结果的断言(Assertion)
2、用于共享共同测试数据的测试工具
3、用于方便的组织和运行测试的测试套件
4、图形和文本的测试运行器
请英语高手帮我翻译一下,谢谢
先生您好:给贵司的样品(CERAMIC WELDING BACKUP)已经寄出了,规格是WB-2043,在船厂用的最广泛的一种。您大概在4天内可以收到。由于运费太贵,我们只寄了一箱,请贵司谅解。希望我们的产品能让您满意。谢谢!祝好!Dear Sir/Madame:
Thanks for your mail, and thanks for your concern. We NingBo Wanbo Backing Block Mater Co.,Ltd erected not long ago, and we're professional in the manufacture of WB series' Ceramic Welding Backup.
The present daily output has arrived about 10000m, and is keeping increasing.
Now the products series includes WB-20112, WB-40423, WB-20623, WB-2064 and column, elbow ones. The price in effect may vary as the quantity you order, see adjunt files to gain more information.
We would bring you satisfactory service and good luck to our corporation!
回
Thanks for your mail, and thanks for your concern. We NingBo Wanbo Backing Block Mater Co.,Ltd erected not long ago, and we're professional in the manufacture of WB series' Ceramic Welding Backup.
The present daily output has arrived about 10000m, and is keeping increasing.
Now the products series includes WB-20112, WB-40423, WB-20623, WB-2064 and column, elbow ones. The price in effect may vary as the quantity you order, see adjunt files to gain more information.
We would bring you satisfactory service and good luck to our corporation!
回
junit3和junit4的区别
Junit4支持注解了,只要在要执行的方法前加@Test即可,如:
@Test
public void multiplyPoundsByInteger() {
assertEquals( 10, 5 );
}
Junit4增加了许多特性,主要是支持注解了:
测试由原来的命名模式改变注解,即testXXX变为@Test。其中@Test还提供了额外的属性。如expected,表示期望抛出的异常
数组比较改用Assert.assertArray搜趣网Equals
套件测试也用注解替换
通过@Ignore,可以忽略某个方法或整个类的测试HsyvJVhPcp
增加了新特性-理论机制(Theory),这个特性听起来很迷惑人,作用是使得开发人员从开始的定义测试用例的阶段就可以通过参数集(理论上是无限个参数)对代码行为进行概括性的总结.开发人员都知道他们代码所想要实现的概括性的总的目的,理论使得他们只需要在一个地方就可以快速的指定这些目的,而不要将这些目的翻译成大量的独立的测试用例。
@Test
public void multiplyPoundsByInteger() {
assertEquals( 10, 5 );
}
Junit4增加了许多特性,主要是支持注解了:
测试由原来的命名模式改变注解,即testXXX变为@Test。其中@Test还提供了额外的属性。如expected,表示期望抛出的异常
数组比较改用Assert.assertArray搜趣网Equals
套件测试也用注解替换
通过@Ignore,可以忽略某个方法或整个类的测试HsyvJVhPcp
增加了新特性-理论机制(Theory),这个特性听起来很迷惑人,作用是使得开发人员从开始的定义测试用例的阶段就可以通过参数集(理论上是无限个参数)对代码行为进行概括性的总结.开发人员都知道他们代码所想要实现的概括性的总的目的,理论使得他们只需要在一个地方就可以快速的指定这些目的,而不要将这些目的翻译成大量的独立的测试用例。
junit和assertj的区别
Junit4支持注解了,只要在要执行的方法前加@Test即可,如:
@Test
public void multiplyPoundsByInteger() {
assertEquals( 10, 5 );
}
Junit4增加了许多特性,主要是支持注解了:
测试由原来的命名模式改变注解,即testXXX变为@Test。其中@Test还提供了额外的属性。如expected,表示期望抛出的异常
数组比较改用Assert.assertArrayEquals
套件测试也用注解替换
通过@Ignore,可以忽略某个方法或整个类的测试
增加了新特性-理论机制(Theory),这个特性//www.souquanme.com听起来很迷惑人,作用是使得开发人员从开始的定义测试用例的阶段就可以通过参数集(理论上是无限个参数)对代码行为进行概括性的总结.开发人员都知道他们代码所想要实现的概括性的总的目的,理论使得他们只需要在一个地方就可以快速的指定这些目的,而不要将这些目的翻译成大量的独立的测试用例。
提供了新的特性-假设机制(Assumption).此特性使用了Hamcrest库的类.本来Hamcrest是一个单独的测试组件,Junit也集成了一部分,但是并没有完全包含。建议使用junit独立的JAR文件,再单独引入hamcrest包。 其实hamcrest的功能相当的强大,理解起来也非常的容易,是一个很不错的组件。它提供asserHsyvJVhPcptThat,assumeThat,assumeNotNull等假设语句,也提供is,not,both..and,either..or等用法,非常的灵活。
@Before,@After,@BeforeClass,@AfterClass.这几个注解一看便知大概,@Before表示每个测试方法执行前执行一次,而@BeforeClass表示整个类测试前执行一次。不过需要注意的是,@BeforeClass,@AtferClass注解的方法必须是静态的。
Junit提供了新的核心运行类MaxCorwww.souquanme.come,相对于以前的JunitCore运行机制,这个类有一系列的优点,如从未测试过的方法优先测试,剩下的测试中,以前测试失败的方法优先测试,再其次,运行快的优先于运行慢的方法。
参数化测试 允许通过变化范围的参数值来测试方法。
超时测试(Timeout test)可以被用来测试方法的执行时间。
Rule。它是JUnit4.7才开始提供的一种扩展方式,它能够替代大部分已有的Runner扩展。JUnit包含两种Rule Annotation:@ClassRule与@Rule。@ClassRule应用于测试类中的静态变量,而@Rule应用于成员变量;相同地是,这些变量必须是TestRule接口的实例,且访问修饰符必须为public。
@Test
public void multiplyPoundsByInteger() {
assertEquals( 10, 5 );
}
Junit4增加了许多特性,主要是支持注解了:
测试由原来的命名模式改变注解,即testXXX变为@Test。其中@Test还提供了额外的属性。如expected,表示期望抛出的异常
数组比较改用Assert.assertArrayEquals
套件测试也用注解替换
通过@Ignore,可以忽略某个方法或整个类的测试
增加了新特性-理论机制(Theory),这个特性//www.souquanme.com听起来很迷惑人,作用是使得开发人员从开始的定义测试用例的阶段就可以通过参数集(理论上是无限个参数)对代码行为进行概括性的总结.开发人员都知道他们代码所想要实现的概括性的总的目的,理论使得他们只需要在一个地方就可以快速的指定这些目的,而不要将这些目的翻译成大量的独立的测试用例。
提供了新的特性-假设机制(Assumption).此特性使用了Hamcrest库的类.本来Hamcrest是一个单独的测试组件,Junit也集成了一部分,但是并没有完全包含。建议使用junit独立的JAR文件,再单独引入hamcrest包。 其实hamcrest的功能相当的强大,理解起来也非常的容易,是一个很不错的组件。它提供asserHsyvJVhPcptThat,assumeThat,assumeNotNull等假设语句,也提供is,not,both..and,either..or等用法,非常的灵活。
@Before,@After,@BeforeClass,@AfterClass.这几个注解一看便知大概,@Before表示每个测试方法执行前执行一次,而@BeforeClass表示整个类测试前执行一次。不过需要注意的是,@BeforeClass,@AtferClass注解的方法必须是静态的。
Junit提供了新的核心运行类MaxCorwww.souquanme.come,相对于以前的JunitCore运行机制,这个类有一系列的优点,如从未测试过的方法优先测试,剩下的测试中,以前测试失败的方法优先测试,再其次,运行快的优先于运行慢的方法。
参数化测试 允许通过变化范围的参数值来测试方法。
超时测试(Timeout test)可以被用来测试方法的执行时间。
Rule。它是JUnit4.7才开始提供的一种扩展方式,它能够替代大部分已有的Runner扩展。JUnit包含两种Rule Annotation:@ClassRule与@Rule。@ClassRule应用于测试类中的静态变量,而@Rule应用于成员变量;相同地是,这些变量必须是TestRule接口的实例,且访问修饰符必须为public。
怎么用Junit去测试没有返回值的方法
一个方法应该要么有返回值要么又可以观察到的副作用,否则这个方法就可以被视作什么事情都没有做。所以,如果一个方法没有返回值,那么我们就应该根据它的可观察的副作用来进行测试。 举一个例子,测试向堆栈中压入元素的方法push()。假设Stack类的push()方法不会返回任何值。我们可以采取以下步骤来测试push()方法: 1、建立一个空的堆栈; 2、判断该堆栈的栈顶是否是要压入的元素; 3、将一个元素压入堆栈; 4、判断堆栈顶部的元素是否是刚才压入的元素。用Java语言翻译过来就是: public class PushToStackTest extends TestCase { public void testStackPush { Stack stack = new Stack(); assertFalse(stack.pop().equals("item")); stack.push("item"); assertEquals("item", stack.pop()); } }大家会注意到,这个测试方法中用到了Stack类的另外一个方法pop(),我们测试过pop()吗?如果要对pop()进行测试的话,显而易见我们必定要使用到 push()。