- 浏览: 16501 次
- 性别:
- 来自: 深圳
最新评论
文章列表
使用DataProvider提供数据有两种形式:
第一种:一种是在把数据提供的代码和测试方法放在同一个类中;
第二种:把所有的数据提供都单独写在一个类里面,当测试数据比较多时,这种方法利于维护。
DataProvider定义了属性name时,提取数据时可以使用name,没有定义name时,提取数据时直接使用方法名称。
第一种示例:
public class ParamTestWithDataProvider1 {
private PrimeNumberChecker primeNumberChecker;
@BeforeMethod
public void ...
使用testng测试框架,给测试方法传参数有两种方法,一种是在testng.xml里提供:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
<test name="test1">
<parameter name="myName&q ...
使用testng.xml文件运行指定的组执行测试时,必须把beforeclass,beforeMethod,aftermethod等需要初始化的方法设置为alwaysRun,因为使用.xml文件运行测试指定组的测试时,不会自动运行这些不在组内的初始化方法,就会出现没有初始化执行测试所需要的初始条件而导致测试失败的问题,如果没有指定特定的组,那么使用testng.xml执行测试就没问题,不需要设定那些初始化方法为alwaysRun=true,如下testng执行文件:
<?xml version="1.0" encoding="UTF-8"?>
...
对象的引用(object obj)存在栈中,而对象的内容(new object())存在内存的堆中。
两个对象obj1和obj2:
两个对象的类型以及属性值都相同,则这两个对象相等,即obj1.equals(obj2)
如果两个对象引用变量指向同一个对象,则称这两个对象同一,即obj1==obj2
所以,两个对象同一,则肯定相等;两个对象相等,不一定同一。等号“ == ” 判断的是这两个对象是否同一。
hashcode:
两个相等(equals)的对象可能存在不一样的hashcode,如果两个对象的引用都指向同一个内存堆,因为对象的值和属性存在堆中,所以他们是相等(equals)的,但是 ...
java对集合进行排序的两种方法
- 博客分类:
- java
有两种方式可以进行集合排序 :
1. 为集合中对象的所属类实现了 java.lang.Comparable 接口
对需要排序的person类实现Comparable接口,实现接口的CompareTo方法来定义排序的规则
public class Person implements Comparable{
private final int id;
private String name;
private int age;
public Person(int id,String name,int age){
this.id ...
java上溯和下溯
- 博客分类:
- java 上溯 下溯
//上溯、下溯造型:
class MyFrame extends JFrame{
this.setSize(100,100);
}
public static void main(String args[]){
Object w=new MyFrame();//这是上溯造型
w.setVisible(true);//这句话会出现错误,因为这个功能对object隐藏了
((MyFrame)w).setVisible(true);//这是下溯造型,这样就可以成功调用了
}
//java调用成员变量 ...
HashMap put值排序问题
- 博客分类:
- java
为什么HashMap取值的时候跟put值得顺序不一样?
因为HashMap put值都是按照值得hashcode排序的,所以取出来的值的顺序跟原来put进去的值得顺序是不一样的。
import java.io.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class CopyFiles extends JFrame implements ActionListener,Runnable{
public static void main(String[] args) {
CopyFiles cf=new CopyFiles();
}
JTex ...
代码如下
import java.util.*;
public class MySet {
public static void main(String[] args) {
ArrayList<Integer> al=new ArrayList<Integer>();
while(al.size()<10){
int value=(int)(Math.random()*50);
boolean b=true;
for(Integer v : al){
if(v==value){
b=false;
...
使用类来实现双向链表,需要在类里创建2个类的对象
class DNode{
public char value=' ';
public DNode pre=null;
public DNode next=null;
}
pre 用来指向该节点的前一个节点,next用来指向该节点的下一个节点
下面这段代码是用双向链表实现输入英文字符,主要功能有:
1.可左右移动光标
2.在任意位置插入字符
3.可以使用backspace和delete键删除字符
注意光标移动到哪里,当前节点nowDNode也要指导哪里才行。
package MyFirstPackage;
import java ...
java中就用类来实现链表结构,每个节点都是类似的,所以next就是类本身的对象。
下面是用链表来实现一个输入字符的功能
package MyFirstPackage;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class MyLinkNote {
public static void main(String[] args) {
JFrame w=new JFrame();
w.setSize(600,500);
w.setLocationRelativeTo ...
导读:本文译自 James Whittaker 在 Google 测试官方博客发表的文章《How Google Tests Software 》。
在所有我被问及的问题中,最多的就是关于谷歌是如何测试的。尽管在博客中(google testing blog)中有过零碎的解释说明,但还是需要更多的系统阐述。虽然谷歌的技术路线在执行的过程中不断地进化,但公司的测试策略却从来没有变化过。谷歌现在 是一家拥有搜索、应用、广告、移动、操作系统等产品的公司,我们在这些涉及到的产品领域里发挥着非常有意义的作用。当我们涉及到一些新的领域或者在旧领域 里快速成长的时候,必须要求我们的测试也在同步的扩张和改进。在这 ...