http://www.ibm.com/developerworks/cn/java/j-cq08296/html
http://blog.csdn.net/jmyue/article/details/9041357java
http://www.importnew.com/16270.html数据库
TestNG与JUnit的相同点:框架
1. 使用annotation,且大部分annotation相同。eclipse
2. 均可以进行单元测试(Unit test)。yii
3. 都是针对Java测试的工具。socket
TestNG与JUnit的不一样点:ide
1. JUnit只能进行单元测试,TestNG能够进行单元测试,功能测试,端到端测试,集成测试等。函数
2. TestNG须要一个额外的xml配置文件,配置测试的class、method甚至package。工具
3. TestNG的运行方式更加灵活:命令行、ant和IDE,JUnit只能使用IDE。
4. TestNG的annotation更加丰富,好比@ExpectedExceptions、@DataProvider等。
5. 测试套件运行失败,JUnit 4会从新运行整个测试套件。TestNG运行失败时,会建立一个XML文件说明失败的测试,利用这个文件执行程序,就不会重复运行已经成功的测试。
在 JUnit 中我必须把@BeforeClass 修饰的方法声明为 static,这又要求我把 fixture,即 finder 声明为 static。我还必须把 init() 声明为 public。TestNG,您就会发现不一样。这里再也不须要那些规则了。个人 init() 方法既不是 static,也不是 public。
JUnit 框架想达到的一个目标就是测试隔离。它的缺点是:人们很难肯定测试用例执行的顺序,而这对于任何类型的依赖性测试都很是重要。开发者们使用了多种技术来解决这个问题,例如,按字母顺序指定测试用例,或是更多地依靠 fixture 来适当地解决问题。
与 JUnit 不一样,TestNG 利用 Test 注释的 dependsOnMethods 属性来应对测试的依赖性问题。有了这个便利的特性,就能够轻松指定依赖方法。例如,前面所说的登陆将在某个方法以前 运行。此外,若是依赖方法失败,它将被跳过,而不是标记为失败。
一旦 TestNG 中出现失败,它就会建立一个 XML 配置文件,对失败的测试加以说明。若是利用这个文件执行 TestNG 运行程序,TestNG 就只运行失败的测试。
经过在 TestNG 的 XML 配置文件中放入参数化数据,就能够对不一样的数据集重用同一个测试用例,甚至有可能会获得不一样的结果。这种技术完美地避免了只能 假定一切正常的测试,或是没有对边界进行有效验证的状况。
尽管从一个 XML 文件中抽取数据会很方便,但偶尔会有些测试须要有复杂类型,这些类型没法用 String 或原语值来表示。TestNG 能够经过它的 @DataProvider 注释处理这样的状况。@DataProvider 注释能够方便地把复杂参数类型映射到某个测试方法。
http://blog.sina.com.cn/s/blog_8af106960102v6qh.html
https://www.ibm.com/developerworks/cn/java/j-lo-junit4/
能够生成html形式可是试验没有成功
http://www.cnblogs.com/nexiyi/p/junit_test_in_order.html
写了一堆的test case,但愿某一些test case必须在某个test case以后执行。好比,测试某一个Dao代码,但愿添加的case在最前面,而后是修改或者查询,最后才是删除,之前的作法把全部的方法都集中到某一个方法去执行,一个个罗列好,比较麻烦。比较幸福的事情就是JUnit4.11以后提供了MethodSorters,能够有三种方式对test执行顺序进行指定
https://netbeans.org/kb/docs/java/junit-intro_zh_CN.html#Exercise_31
JUnit 框架主要聚焦于测试的隔离,暂时还不支持这个特性。
http://blog.csdn.net/lhy_ycu/article/details/45281449
注意事项:
1)Junit的原则:keep the bar green to keep the code clean。2)测试类与(源代码)目标类的包名尽可能要一致,最终它们都会被编译到同一个目录下面,这样就不用导入源代码所在的包。
3) 测试类的命名规则:测试类类名 = 目标类类名前或后加Test; 注意要统一。
4) 测试类必须继承TestCase; 测试用例(方法/类)与测试用例之间必定是彻底独立的,不容许出现任何的依赖关系。同时也不能依赖测试方法的执行顺序,也就是删除或注释掉某个测试方法后,其余的测试方法依然可以执行。
5) 测试源代码的私有方法能够采起两种方式:1、修改目标方法的访问修饰符(将private修改成public,通常不推荐);2、使用反射在测试类中调用目标类的私有方法。
http://testng.org/doc/index.html
地址输入
testng - http://beust.com/eclipse
如何找到该地址
http://www.yiibai.com/testng/20130913292.html
http://testng.org/doc/eclipse.html#eclipse-viewing
http://www.ibm.com/developerworks/cn/java/j-test-ng/
http://www.ibm.com/developerworks/cn/java/j-testng/index.html 包含测试代码连接
Software caused connection abort: socket write error
解决从新安装testng插件或者更换eclipse