???????
???????????е?????????????????????????????????????????????????????????????????????????????????????????????·???????????????????????????????????????????е???????????????????????????????????????????????????????????
??????????????
????????????????????????????????????????????????÷?????????????????????????????????????????????????????ü?????????????е????????????????????????????????????????С???????????????????????????????????????У??????????????У?
????????????
????????????(Data Driven)??????????????????????????У?????????????????????????в???????
??????????????????????????????????????????
??????д??????????????????????????(α???????)
????public boolean login(String username?? String password){
????//do login
????}
??????????????????????????login????/??????
public void test1(){
login("liuneng"??"123456");
}
public void test2(){
login("zhaosi"??"654321");
}
????????????????д????????test1??test2???????????ɡ???????????????test1??test2????????????????????????????????????????????????????????
public boolean login(String[][] accounts){
for(int i = 0; i<accounts.length; i++){
//do login
}
}
public void test(){
String[][] accounts = [["liuneng"??"123456"]??["zhaosi"??"654321"]];
login(accounts);
}
??????????????????е?????????????????????accounts??length??????login????/?????????м??Σ?????????????????????????????????????????????????????????????????????????????
????String[][] accounts = [["liuneng"??"123456"]??["zhaosi"??"654321"]??["laowang"??"000000"]];
?????????????????????????????????????????????????????????????????????????????????????????????????????????????м?????????????????????????????У???????????????????????????????????????????????????????????????????????????????????????????????????
public boolean login(String username?? String password){
//do login
}
public void test(String username?? String password){
login(username??password);
}
public void executor(){
String[][] accounts = [["liuneng"??"123456"]??["zhaosi"??"654321"]];
for(int i = 0; i<accounts.length; i++){
test(accounts[i][0]??accounts[i][1]);
}
}
??????????????????????????????????????????executor?????????????????????????????氡?????????????????棬?ò????????????????????????????????????????????????????????????????д?????????????л??????????????????????????????????????????????????棬??????????????????????????????????????testNg???dataProvider??junit???Parameters?????????????????????????????????????????д???????????????????????????
???????????
???????????????????????????(Behavior Driven)????????????????????????????????????????????????????????л??????????????????????????????????????????????????????????????????????????????????Щ?????????????????????????????????????????????????????????????????????????"???????"???????????ú?????????????????????????"???????"????????????????????????????????????????"???????"????н????
??????????????????????
???????????"???????"?????????????(???????????????????????shop.feature)??
????????1??????'???P9'?????????????????????
????????2?????????????????
?????????????????????????????????????????????????????????????????????????ú????????????????????????????????????Щ?????????????????????????????????????????????????????
def /????'???P9'?????????????????????/
//coding?? doing something
end
def /???????????????/
//coding?? doing something
end
def executor()
lines = read('shop.feature')
for line in lines
Method m = searchMethod(line) //???????????????????????????
m.run()//??line???н?????????''????????????????????????
end
end
??????????????????????????棬????????????????????executor???????????????????????????????????????????????????д???????????????????????????е??????????Щ?????????????????????????????????????????????????????Щ???????????????????????????????????Щ??????????????????????????????м??ɡ????????????????????????????????????????????????????????????????????????????????????????????????????ü?????????????????????к???????????????????????java???JBehave??ruby???cucumber??rspec??????????????????????????????????????????£?????????????
?????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????У?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????д?????????????????????????????????????????????????????????????????????????????????????????з????????????????????????????????????????????????????<<??????????????????>>???????????в????????????
???????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????